什么是Mybatis逆向工程?
在MyBatis中,一个主要的特点就是需要程序员自己编写sql语句,但是在实际开发过程中涉及到表的数目可能会比较多,此时为每张表去书写实体类和Sql语句是不合适,尤其是很多代码都是重复性的,没有什么技术可言。因此mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、pojo..)。
这里需要用到逆向工程的jar包:mybatis-generator-core-1.3.2.jar
主要作用:生成和表对应的java类(pojo)以及mapper接口 以及接口对象的mapper.xml
使用Mybatis逆向工程生成代码有很多种方式,这里我们使用比较简单的一种,利用Maven插件的方式来生成对应代码:
1、首先新创建一个Maven项目,然后再pom.xml中配置插件
<plugins> <!-- mybatis逆向工程 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <verbose>true</verbose><!--允许移动生成的文件--> <overwrite>true</overwrite> <!--允许覆盖生成的文件--> </configuration> </plugin> <plugins>
2.在maven项目下的src/main/resources 目录下建立名为 Maven的项目配置文件存放路径如下图:generatorConfig.xml和generator.properties配置文件:
generator.properties 配置:
jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql://localhost:3306/gokee_0703 jdbc.userId=root jdbc.password=123456 jdbc.driverLocation=D:\tts9\.m2\repository\mysql\mysql-connector-java-5.1.32.jar
最后一个配置为mysql的jdbc驱动jar的真实路径。
3.进行generatorConfig.xml的配置
<?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="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--【需要改】数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test2" userId="root" password="111"> </jdbcConnection> <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg" password="yycg"> </jdbcConnection> --> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 【需要改】targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="com.gok.pojo" targetProject=".src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 【需要改】targetProject:mapper映射文件(接口和xml生成的位置)生成的位置 --> <sqlMapGenerator targetPackage="com.gok.dao" targetProject=".src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- 【需要改】targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.gok.dao" targetProject=".src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 【需要改】指定数据库表 --> <table tableName="grade"></table> <table tableName="head_teacher"></table> <table tableName="student"></table> </context> </generatorConfiguration>
将配置文件书写完毕后,我们来看如何使用运行:
1、在运行位置处点击Edit Configurations,使用maven运行mybatis-generator-maven-plugin插件。
2、选中Maven配置运行代码
手写输入的命令为: mybatis-generator:generate -e
然后点击apply---> ok 最后运行即可。