IDEA+MyBatis 代码生成器
前言:最近翻了翻之前随便记得一些东西,感觉记得还是挺乱的,想找哪个相关的内容还要找很久,就想着还是要抽时间慢慢的整理出来啊,写之前感慨几句,下面进入主题~
一、MyBatis Generator
1、Jar包
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>XXX</version>
</dependency>
generator也是一堆别人写好的java类,通过这个类去数据库中查表,根据查到的表再去生成我们自己需要用到的类,导入这个坐标就是为了导入mybatis-generator-core这个jar包。这个jar包是给这个工具用来生成mybatis代码用的(生成 实体类,sql语句),我们在运行工程时不需要这个jar包,只在编译的时候生成代码用,运行期用不到这个jar包。
2、plugins
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>XXX</version>
</plugin>
二、generatorConfig.xml 详情
- 在 resource 下添加 generatorConfig.xml 文件
1、数据库配置
Java类型解析器不应该强制型对象字段BigDecimal的使用,这意味着整数类型(短、整型、长等)如果可能的话将被取代。 此功能是为了使数据库DECIMAL和NUMERIC列容易处理
2、Java模型生成器 生成实体类
Java模型生成器应该对字符串进行trim操作。 这意味着任何字符串属性的setter方法将调用trim方法。如果您的数据库可能会在字符末尾返回空白符,这是非常有用的
3、SQL映射生成器,生成XXMapper.xml文件
4、Dao生成器 生成接口的 XXMapper.java
是否使用表中的字段名当做属性名,mysql中可以为true,oracle中应为false。因为oracle中字段名默认都是大写的,如果拿字段名当属性名,那么实体类中的属性名就全部都是大写的了
5、配置生成的表
- 主键 < selectKey keyProperty=“XX” resultType="" >
三、Edit Configuration -> Maven生成
1、添加maven,建一个插件
- 命令行:mybatis-generator:generate -e
四、代码生成器的一些知识点
1、生成什么
- 实体类
- sql语句映射文件(默认生成这8条,可以自己配置)
(1)insert
(2)update by primary key
(3)update by example(根据条件更新)
(4)delete by primary key
(5)delete by example
(6)select by primary key
(7)select by example
(8)count by example(根据条件查询记录总数)
根据表结构的不同,生成的语句会有不同的变化 - 接口 Mapper:接口中存放上面sql语句的方法
2、不会生成什么
- 工厂
- config.xml