一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情。
Mybatis虽然简化了我们对数据库的操作,但是对于一些新建项目或者新加一些数据库表的时候就比较繁琐了,鉴于这种情况,就诞生了mybatis-generator,他可以帮助我们实现对数据库表最基本的CRUD操作。这样就可以节省我们大量的时间。
一、逆向工程的搭建
1-1、添加pom.xml mybatis-generator的依赖
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
1-2、打开官网查看搭建步骤
如上需要先创建一个逆向工程的配置文件
1-3、采用MyBatis3Simple的方式构建
1-4、在项目中创建generatorConfig.xml
创建generatorConfig.xml,并复制以下内容
1-5、最终配置文件内容
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--如果需要使用 command的方式生成需要配置数据库驱动的jar包路径
<classPathEntry location="指定数据驱动的磁盘路径"/>-->
<!--context 生成上下文 配置生成规则
id 随意写
targetRuntime 生成策略
MyBatis3DynamicSql 默认的,会生成 动态生成sql的方式(没有xml)
MyBatis3 生成通用的查询,可以指定动态where条件
MyBatis3Simple 只生成简单的CRUD
-->
<context id="simple" targetRuntime="MyBatis3Simple">
<commentGenerator>
<!--设置是否生成注释 true 不生成 注意: 如果不生成注释,下次生成代码就不会进行合并-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据源 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis"
userId="root"
password="root"/>
<!--pojo
javaModelGenerator java实体生成规则(POJO)
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下
-->
<javaModelGenerator targetPackage="cn.jony.pojo" targetProject="src/main/java"/>
<!--mapper xml映射文件
sqlMapGenerator mapper xml映射文件生成规则
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下
-->
<sqlMapGenerator targetPackage="cn.jony.mapper" targetProject="src/main/resources"></sqlMapGenerator>
<!--mapper接口
javaClientGenerator mapper mapper接口生成规则
type 指定生成的方式
1.使用注解的方式生成
2.使用接口绑定的方式生成(要配置sqlMapGenerator)
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下-->
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.jony.mapper" targetProject="src/main/java"/>
<!--配置哪些表需要进行代码生成
tableName 表名
domainObjectName pojo类名
mapperName 对应mapper接口的类名 和 mapper xml文件名
-->
<table tableName="emp" domainObjectName="Emp" mapperName="EmpMapper" />
<table tableName="dept" domainObjectName="Dept" mapperName="DeptMapper" />
</context>
</generatorConfiguration>
1-6、启动逆向工程
1-6-1、查看启动方式(采用java代码的方式)
1-6-2、查看示例代码
1-6-2、编写测试类
可以看到最基本的增删改查方法已经实现