作用: 根据表帮你生成实体类,和dao和xml映射文件。就是简单的CRUD。
1.如何使用
http://mybatis.org/generator/
(1)引入mybatis-generator的依赖jar包。
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
(2)generator的配置文件
<?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>
<!-- mysql驱动jar的位置-->
<classPathEntry location="D:\repMaven\mysql\mysql-connector-java\8.0.20\mysql-connector-java-8.0.20.jar"/>
<context id="aaa" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否生成注释-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 数据源的配置信息 也就是数据库的配置信息-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai"
userId="root"
password="lzl200038">
<!--解决mysql8.0以后重复生成所有表的问题-->
<property name="nullCatalogMeansCurrent" value="true" />
</jdbcConnection>
<!-- 类型转换-->
<javaTypeResolver>
<!-- 是否使用bigdecimals,false可自动转换以下类型(Long, Integer, Short, etc.)-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 配置java实体类-->
<javaModelGenerator targetPackage="com.lzl.entity" targetProject=".\src\main\java">
<!-- enableSubPackages 是否启用子包-->
<property name="enableSubPackages" value="true"/>
<!-- trimStrings 是否修建字符串 也就是去空格-->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 映射文件的配置-->
<sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- dao数据访问层的配置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.lzl.dao" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 数据库表和实体的映射关系-->
<!-- schema 数据库名称、-->
<!-- tableName 表名-->
<!-- domainObjectName 实体类名-->
<!-- enableYpdateByExample 是否生成复杂操作-->
<table schema="mybatis" tableName="student" domainObjectName="Student" enableUpdateByExample="false" enableSelectByExample="false"
enableDeleteByExample="false" enableCountByExample="false">
</table>
</context>
</generatorConfiguration>
(3)运行你的配置文件
public void test01() throws Exception{
List<String> warnings = new ArrayList<>();
boolean overwrite = true;
File configFile = new File("generator.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}