工具:MyEclipse 10
一。代码生成步骤
1:新建一个Maven项目,添加MBG插件:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
</plugin>
2:配置文件
首先去官网把配置文件的DEMO拷贝下来,地址:
http://www.mybatis.org/generator/configreference/xmlconfig.html
然后在项目src目录下新建一个XML文件,把内容粘贴进去。然后再进行详细的配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 配置生成数据库连接四要素
需要的驱动包的绝对路径 -->
<classPathEntry
location="E:\mysql-connector-java-5.1.6.jar" />
<!-- 四要素配置
targetRuntime:开发环境使用的MyBatis的版本,
这里用的3.3.0, 那么填的就是MyBatis3,使用哪个版本
就要配置对应的值,可以在这里查看支持的值:
http://www.mybatis.org/generator/configreference/context.html -->
<context id="mysqlConn" targetRuntime="MyBatis3">
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mydb"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 实体类bean 带有get、set方法的bean -->
<javaModelGenerator targetPackage="en.et.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sql语句相关的XML或者注解生成的包的路径(映射文件) -->
<sqlMapGenerator targetPackage="cn.et.resource" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 映射接口生成的目录 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="cn.et.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 告诉MBG需要生成代码的表名 -->
<table tableName="food" >
<!-- 指定该列生成Bean属性时的数据类型 -->
<!-- <columnOverride column="sal" javaType="java.lang.Double" jdbcType="NUMERIC">
</columnOverride> -->
</table>
</context>
</generatorConfiguration>
3.maven启动配置
在pom.xml的MBG插件中告知其配置文件的路径:
新建一个Maven运行配置:

Base directory 选中项目 , Goals:
mybatis-generator:generate
然后点击RUN即可,噔噔:
生成使用注解的接口映射也是可以的,只需要改动这里:
改成:
ANNOTATEDMAPPER,一样的运行方式。更多支持的项:
http://www.mybatis.org/generator/configreference/javaClientGenerator.html
二。BeanExample使用
(BeanName)Example这个类用于构建查询条件,绝大部分的单表查询的条件语句都能够通过它来构建。
@Autowired
public StudentMapper mapper;
/**
* 演示通过Criteria对象构建查询语句的例子
* @param stuName * @return
*/
public List<Student> queryStudentsByName(String stuName){
// 创建实例
StudentExample sc = new StudentExample();
// 获取Criteria判断
Criteria criteria = sc.createCriteria();
/*
* 添加判断条件(这里使用的是and列名)
* 注意,接口映射中默认使用#{key}的方法
* 传值的,所以 like语句的%%需要手动添加
*/
criteria.andSnameLike("%" + stuName + "%");
// 这里再加个条件 这里就相当于两个条件
criteria.andAddressLike("%深圳%");
return mapper.selectByExample(sc);
}
/**
* 使用自定义条件的方式构建查询语句。
* @param stuName
* @return
*/
public List<Student> queryStusByName(String stuName){
// 创建实例
StudentExample sc = new StudentExample();
Criteria c = sc.createCriteria();
/*
* addCriterion方法默认权限是protected
* 如果要在别的包调用,要去修改权限。
*/
c.addCriterion("sname like " , "%" + stuName + "%" , "sname");
return mapper.selectByExample(sc);
}
所有字段的查询条件都基本齐全的:
这里就不一一演示了。