【手把手教学】基于Maven构建方式使用Mybatis generator自动生成
生活随笔
收集整理的這篇文章主要介紹了
【手把手教学】基于Maven构建方式使用Mybatis generator自动生成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介
Mybatis generator是一種代碼生成器, 可以基于數據庫表的字段與類型,自動生成Java代碼中對應的entity類、dao類、mapper映射文件。
實現Mybatis generator功能有多種方式,如插件方式、配置文件方式等。 這里采用經過我個人實踐并成功的方式來操作。
方式:基于Maven項目構建,XML文件配置的方式。
?
一. 添加依賴
第一個依賴是mybatis-generator代碼生成器的核心依賴
第二個依賴是mysql通過JDBC連接數據庫的依賴
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core --> <dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.6</version> </dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version> </dependency>添加完依賴后, 記得刷新一下maven項目。 讓maven自動下載這兩個依賴對應的jar包。
?
二. 配置generatorConfig.xml
generatorConfig.xml文件主要作用是配置生成文件的路徑、位置、以及表名等基本信息。 當然也可以配置如注釋定制等信息,這里只做最基礎的功能實現。
下面講解幾個重要參數:
- javaModelGenerator:生成entity類存放位置(也就是POJO類存放位置)
- targetPackage:類的包名
- targetProject:項目在計算機中的地址
- sqlMapGenerator:生成映射文件存放位置(也就是sql語句存放位置)
- 同上
- javaClientGenerator:生成Dao類存放位置(也就是dao文件存放位置)
- 同上
下面貼一段實例(代碼的項目地址是Mac系統中的項目地址,與Windows有所不同,Windows重點項目地址形如D:\workspace\src\main\java):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration><context id="DB2Tables" targetRuntime="MyBatis3"><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/myDataBase"userId="lab_1941747"password="4546091bded4"></jdbcConnection><!--生成entity類存放位置--><javaModelGenerator targetPackage="org.example.beans" targetProject="/Users/zhanglong/IdeaProjects/test1/src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!--生成映射文件存放位置--><sqlMapGenerator targetPackage="mybatis" targetProject="/Users/zhanglong/IdeaProjects/test1/src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!--生成Dao類存放位置--><javaClientGenerator type="XMLMAPPER" targetPackage="org.example.dao" targetProject="/Users/zhanglong/IdeaProjects/test1/src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><table tableName="students" domainObjectName="Students"></table></context> </generatorConfiguration>?
三. 運行
這段代碼的大致意思是啟動MyBatisGenerator,根據配置文件的方案自動生成代碼
package org.example;import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback;import java.io.File; import java.io.IOException; import java.sql.*; import java.util.ArrayList; import java.util.List;/*** 運行前提:添加mysql-connector-java依賴*/ public class test {public static void main(String[] args) throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("src/main/java/org/example/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);} }?
四. 運行結果(忽略報錯哈,畫橫線的三個就是生成結果的三個包)
會了記得點贊! 有問題及時留言!看到就會解答!
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的【手把手教学】基于Maven构建方式使用Mybatis generator自动生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【含义解析】%d{yyyy-MM-dd
- 下一篇: 【完美解决】Could not proc