mybatis逆向工程(MyBatis Generator)
1. 什么是mybatis逆向工程
mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、表名.java(po类)
在企业开发中通常是在设计阶段对表进行设计 、创建。
在开发阶段根据表结构创建对应的po类。
mybatis逆向工程的方向:由数据库表----》java代码
2. 逆向工程创建(方式一)
2.1 逆向工程使用配置
本实例使用通过java程序运行逆向工程;
逆向工程运行所需要的jar包:
2.2. generator.xml内容
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 <generatorConfiguration> 6 <!-- 1、连接数据库的驱动包路径 --> 7 <classPathEntry location="D:\WorkspaceJ2eeMyeclipse\generator\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.44-bin.jar" /> 8 9 <context id="DB2Tables" targetRuntime="MyBatis3"> 10 <!-- 1、连接数据库的地址和驱动:数据库链接URL、用户名、密码 --> 11 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 12 connectionURL="jdbc:mysql://localhost:3306/elec" 13 userId="root" 14 password="123456"> 15 </jdbcConnection> 16 17 <javaTypeResolver > 18 <property name="forceBigDecimals" value="false" /> 19 </javaTypeResolver> 20 21 <!-- 生成模型的包名和位置 --> 22 <javaModelGenerator targetPackage="com.mmzs.pojo" targetProject="generator"> 23 <property name="enableSubPackages" value="true" /> 24 <property name="trimStrings" value="true" /> 25 </javaModelGenerator> 26 27 <!-- 生成的映射文件包名和位置 --> 28 <sqlMapGenerator targetPackage="com.mmzs.mapper" targetProject="generator"> 29 <property name="enableSubPackages" value="true" /> 30 </sqlMapGenerator> 31 32 <!-- 生成DAO的包名和位置 --> 33 <javaClientGenerator type="XMLMAPPER" targetPackage="com.mmzs.mapper" targetProject="generator"> 34 <property name="enableSubPackages" value="true" /> 35 </javaClientGenerator> 36 37 <!-- 要生成那些表(更改tableName和domainObjectName就可以) --> 38 <table tableName="testkeycount" domainObjectName="KeyCountbean" 39 enableCountByExample="false" enableUpdateByExample="false" 40 enableDeleteByExample="false" enableSelectByExample="false" 41 selectByExampleQueryId="false"> 42 </table> 43 44 <table tableName="testnum" domainObjectName="Numbean" 45 enableCountByExample="false" enableUpdateByExample="false" 46 enableDeleteByExample="false" enableSelectByExample="false" 47 selectByExampleQueryId="false"> 48 </table> 49 <!-- <table tableName="t_student" domainObjectName="StuBean"/> --> 50 51 </context> 52 </generatorConfiguration>