什么是逆向工程
逆向工程需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper,xml,pojo等)
企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。
配置文件下载:
蓝奏云:下载地址 密码:joker
百度云:下载地址 提取码:bf2f
搭建环境
a) 新建Java Project,导入包(在下方配置文件中)。
b) 引入log4j.properties,逆向工程需要的配置文件及生成代码程序。(如下图)
c) 修改db.properties数据库用户名和密码
d) 在src下创建lib文件夹,导入配置文件中给的所有包(记得将包导入开发工具)。
生成代码配置文件
创建generatorConfig.xml:拷贝该文件到src目录下(配置如下)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <?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> <property name="suppressAllComments" value="true" /> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/数据库名" userId="root" password="密码"> </jdbcConnection>
<javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver>
<javaModelGenerator targetPackage="com.hp.pojo" targetProject=".\src"> <property name="enableSubPackages" value="false" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.hp.mapper" targetProject=".\src"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.hp.mapper" targetProject=".\src"> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <table tableName="table"></table> <table tableName="table2"></table> <table tableName="table3"></table> </context> </generatorConfiguration>
|
注意将xml配置文件改为自己的。
创建生成程序
在src目录下创建GeneratorSqlmap.java,并执行。(代码如下)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class GeneratorSqlmap {
public void generator() throws Exception{
List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("src/generatorConfig.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);
} public static void main(String[] args) throws Exception { try { GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
|
生成后的目录结构
如下图所示,为逆向生成的实体类和mapper配置文件。
报错及总结
注意:MySQL高版本的URL地址为:jdbc:mysql://localhost:3306/youyougou?characterEncoding=utf8
结束。( •̀ ω •́ )✧(有什么问题你请在下方评论区友好交流)