MyBatis的逆向工程能自动帮开发者生成数据库表对应的 pojo实体文件,自动生成映射文件
自定生成表的各种(CRUD)的sql语句, 但是只能做单表操作,联合查询还得开发者自己动
使用逆向工程得先在Eclipse安装逆向工程的插件
第一步:eclipse安装mybatis逆向工程插件
在线安装
–搜索mybatis
–然后一直安装。然后判断是否安装成功。有以下文件表示成功。没有则是失败。
离线安装
--下载插件包 下载地址:https://github.com/mybatis/generator/releases
–选择离线安装
–导入离线包
–选项
–然后就next,直到finish
第二步:新建一个普通java项目,导入mybatis.jar包和数据库驱动包
第三步:生成配置文件
–配置生成文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="context1">
<!-- 注释构建 -->
<commentGenerator>
<!-- 去掉所有的注释 -->
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 数据库四要素 -->
<jdbcConnection connectionURL="jdbc:mysql://localhost:3306/gj1"
driverClass="com.mysql.jdbc.Driver"
password="123456"
userId="root" />
<!-- 实体类 : pojo
targetPackage : 实体类生成后存放的包
targetProject : 存放的目录一般都放在 src下面
-->
<javaModelGenerator targetPackage="com.mybatis.pojo" targetProject="mybatis-generator/src" />
<!-- 映射文件 -->
<sqlMapGenerator targetPackage="com.mybatis.mapper" targetProject="mybatis-generator/src" />
<!-- 操作接口
type 生成映射的形式
ANNOTATEDMAPPER : 纯注解的,没有xml映射
XMLMAPPER : 生成的有xml映射文件
-->
<javaClientGenerator targetPackage="com.mybatis.mapper" targetProject="mybatis-generator/src" type="ANNOTATEDMAPPER" />
<!-- 要生成对应表的配置
tableName : 数据库表名
domainObjectName:生成的pojo类名
//如果下面全部是true,mybatis直接可以使用纯面向对象开发
enableCountByExample : 是否生成查询总数的 Example
enableDeleteByExample : 是否生成删除的 Example
enableSelectByExample : 是否生成查询集合的 Example
enableUpdateByExample : 是否生成修改的 Example
-->
<table tableName="user" domainObjectName="User" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="true" enableUpdateByExample="false"></table>
<table tableName="employee" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="true" enableUpdateByExample="false"></table>
<table tableName="department" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="true" enableUpdateByExample="false"></table>
</context>
</generatorConfiguration>
第三步:开始逆向工程
选中 generatorConfig.xml 逆向工程配置文件,点击鼠标右键
使用mybatis逆向工程的条件查询
@Test
public void testSelectAll() {
// 1.创建SqlSession操作对象
SqlSession session = MyBatisUtil.openSession();
// 2.创建UserMapper接口的代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);
//多行查询的条件对象,默认查询出所有对象
UserExample example=new UserExample();
/*
* criteria限制条件对象。默认可以拼接多个条件,但是多个条件之间默认都是AND
* 如果想要多个条件之间为or。则需要两个条件的criteria对象不是同一个对象
*/
Criteria criteria = example.createCriteria();
criteria.andUsernameLike("%女%");
Criteria createCriteria = example.createCriteria();
createCriteria.andAgeLessThan(100);
example.or(createCriteria);
List<User> list = userMapper.selectByExample(example);
System.out.println(list);
// 4.关闭session
session.close();
}
逆向功能的缺点