MyBatis 逆向工程——根据数据表自动生成model…
2020-01-22 16:01:17来源:博客园 阅读 ()
MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用
MBG可以根据数据表生成对应的model、xml映射文件、mapper接口,只是简单的生成,还需要根据需求修改。
1、下载jar包
https://github.com/mybatis/generator/releases
解压后有3个jar包,只使用一个:
2、新建一个新的java项目,导入mybatis.jar、mybatis-generator-core.jar、数据库驱动。
3、src下新建config.xml
http://mybatis.org/generator/configreference/xmlconfig.html
到官网复制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> <!-- 配置数据库连接的包,我们不需要,将其注释掉 --> <!-- <classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />--> <!-- context配置环境 --> <context id="myMBG" targetRuntime="MyBatis3"> <!--配置生成的注释--> <commentGenerator> <!-- 去掉注释 --> <property name="suppressAllComments" value="true"/> <!-- 去掉注释中的时间戳 --> <property name="suppressDate" value="true"/> </commentGenerator> <!-- 数据库连接信息 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT" userId="chy" password="abcd"> </jdbcConnection> <!-- 配置jdbc——java之间的类型转换 --> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 配置pojo类的生成规则 --> <javaModelGenerator targetPackage="com.chy.model" targetProject="src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 配置xml映射文件的生成规则 --> <sqlMapGenerator targetPackage="com.chy.mapper" targetProject="src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 配置mapper接口的生成规则 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.chy.mapper" targetProject="src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 配置要使用的数据表,自带的配置太繁琐,将其注释掉--> <table tableName="user_tb"/> <table tableName="goods_tb"/> <!-- <table schema="my_db" tableName="ALLTYPES" domainObjectName="Customer" >--> <!-- <property name="useActualColumnNames" value="true"/>--> <!-- <generatedKey column="ID" sqlStatement="DB2" identity="true" />--> <!-- <columnOverride column="DATE_FIELD" property="startDate" />--> <!-- <ignoreColumn column="FRED" />--> <!-- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />--> <!-- </table>--> </context> </generatorConfiguration>
红字部分是需要修改的。主要是修改数据库的连接信息、文件的生成位置。
xml文件的详细配置可参考官方文档:http://mybatis.org/generator/configreference/xmlconfig.html
4、src下新建主类test.Test
http://mybatis.org/generator/running/runningWithJava.html
到官网复制代码来改, 注意是xml那个,修改如下:
package test; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("src/config.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); } }
只需注意xml文件的路径是否正确。
5、运行主类,将生成的文件复制到要使用的项目中,根据需要修改。
只能生成简单的代码,复杂的还需要自己写,比如关联查询。
文件名可随意取,只要xml文件路径对得上即可。常用generatorConfig.xml、Generator.java,觉得难写可以使用简单的单词代替。
官网:http://mybatis.org/generator/index.html
github:https://github.com/mybatis/generator
带GUI的代码生成器:https://github.com/zouzg/mybatis-generator-gui
原文链接:https://www.cnblogs.com/chy18883701161/p/12227853.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MyBatis中的$和#,用不好,准备走人! 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 天哪!手动编写mybatis雏形竟然这么简单 2020-06-06
- MyBatis整合双数据源 2020-06-04
- MyBatis缓存特性详解 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash