Skip to content

donnie0915/AutocoderForMybatis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

如果你有遇到什么问题可以联系我:hjp222@gmail.com

此项目最初出自龙浩的autocoder,
他的只支持到ibatis,未有支持mybatis,我在autocoder做了一下修改和简化,
目前已支持MyBatis

依赖的项目: common-dao

注意

1.必须配置JAVA_HOME与MAVEN_HOME
2.在windows下运行run.bat ,在liunx系统下运行run.sh
3.运行前需在baseconfig.yaml文件中配置数据库和要生成代码的表
4.目前仅支持mysql数据库
5.生成mybatis
6.没有生成daoImpl是应因为mybatis加个配置就自动实现

   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.okhqb.business" />
	</bean>

7.mybatis的alias也通过配置自动别名

  <typeAliases>
  		<package name="com.okhqb.business.usermgr.domain"/>
  </typeAliases>

8.更改了BaseDao

package com.okhqb.common.dao;


import java.util.List;
import java.util.Map;

/**
 * 提供MyBatis数据库的基本操作
 *
 * Date: 15-6-16
 * @param <T>
 */
public interface BaseDao<T> {

	/**
	 * 添加数据
	 * @param obj
	 * @return
	 */
	public void insert(T obj) ;

	/**
	 * 删除数据
	 * @param id
	 */
	public void delete(Long id) ;

	/**
	 * 修改数据
	 * @param obj
	 */
	public void update(T obj) ;

	/**
	 * 根据条件查询
	 * @param params
	 * @return
	 */
	public T find(Map<String, Object> params) ;

	/**
	 * 根据id查询
	 * @param id
	 * @return
	 */
	public T findById(long id) ;

	/**
	 * 根据条件查询
	 * @param params
	 * @return
	 */
	public List<T> list(Map<String, Object> params) ;

	/**
	 * 根据条件统计
	 * @param params
	 * @return
	 */
	public Integer listCount(Map<String, Object> params) ;
}

maven依赖置

1:在maven的配置文件中增加apache的mirror:

    <mirror>
        <id>apache</id>
        <mirrorOf>central</mirrorOf>
        <url>http://repo1.maven.org/maven2</url>
    </mirror>

2: 在应用的pom.xml文件中添加依赖

    <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.9</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.1.1</version>
        <scope>test</scope>
    </dependency>

***************************************代码相关说明***************************************
1:分页,排序需要设置ListAdapter中的属性:
``` ListAdapter adapter = new DefaultListAdapter(); adapter.adapter.setPageNo(1).setPageSize(20);//分页 adapter.setOrderItem("xx").setOrderType("ASC");//排序字段 ```

2:为了解决DO和VO的导致JavaBean内容重复的问题,设计上考虑使用动态字段来传值,提高系统可拓展性。 set动态字段:

    adapter.setFiled("startTime", startTime).setFiled("endTime", endTime);
    
在xml配置中调用
    
    <if test="dynamicFileds_startTime != null ">
          and  ${tableName}.${column.columnName} &gt;= #${boxBracket}dynamicFileds_startTime}
    </if>
    <if test="dynamicFileds_endTime != null ">
       and	${tableName}.${column.columnName} &lt;= #${boxBracket}dynamicFileds_endTime}
    </if>
    

3:update都是需要直接修改xml来完成,生成的内容仅供参考。

版本:

**************************** 1.0.1功能列表[2015-7-2]:****************************

1.支持生成mybatis
2.支持生成dao
3.支持生成domain
4.支持生成分页

About

自动化产生MyBaits配置文件(MyBatis Generator)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages