IDEA下實現mybatis的逆向工程
一:什麼是逆行工程。
MyBatis是一款優秀的持久層框架,它支援定製化SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。
當資料庫表比較多的時候,重複的建立pojo物件和簡單的資料庫表的(CRUD)操作的mapper,效率低,官方給出了使用mybatis Generator用來根據資料庫表逆向生成pojo和mapper檔案,極大的方便開發。
下面我們看如何使用Generator逆向生成檔案。
二:如何實現。
1、在IDEA上建立maven工程。
2、在maven中新增依賴。
分別是mybatis-generator-maven-plugin外掛,log4j、mybatis、mysql、mybatis-generator的依賴。
<build> <plugins> <!-- mybatis-generator自動生成程式碼外掛 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.6</version> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.6</version> </dependency> </dependencies>
3:修改generationConfig.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="mybatisGenerator" targetRuntime="MyBatis"> <commentGenerator> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatisGenerator? serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true" userId="root" password="12345"> </jdbcConnection> <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetProject:生成PO類的位置 --> <javaModelGenerator targetPackage="pojo" targetProject=".\src"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> <!-- 從資料庫返回的值被清理前後的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetProject:mapper對映檔案生成的位置 --> <sqlMapGenerator targetPackage="mapper" targetProject=".\src"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper介面生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="mapper" targetProject=".\src"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定資料庫表 --> <table tableName="items"></table> <table tableName="orders"></table> <table tableName="orderdetail"></table> <table tableName="user"></table> <!-- 有些表的欄位需要指定java型別 <table schema="" tableName=""> <columnOverride column="" javaType="" /> </table> --> </context> </generatorConfiguration>
4:官方提供的java類。
public class Generator {
public void generator() throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
/**指向逆向工程配置檔案*/
File configFile = new File("src/generatorConfig.xml");
ConfigurationParser parser = new ConfigurationParser(warnings);
Configuration config = parser.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 {
Generator generatorSqlmap = new Generator();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5:run該main方法,生成pojo和mapperr物件。
三:總結,其中出現的問題。
1、
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
這裡使用的是mysql6.0.6,規定
driverClass="com.mysql.cj.jdbc.Driver"
2、java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one
time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property)
to use a more specifc time zone value if you want to utilize time zone support.
時間區域時差問題,serverTimezone=UTC”不然會因為時區問題報錯,這裡用了CTT中國臺灣時區避免產生8小時時差。
connectionURL="jdbc:mysql://localhost:3306/mybatisGenerator?
serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true"
相關推薦
IDEA:在maven下實現mybatis逆向工程
1.pom檔案 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org
IDEA下實現mybatis的逆向工程
一:什麼是逆行工程。 MyBatis是一款優秀的持久層框架,它支援定製化SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java
用Intillij IDEA實現MyBatis逆向工程
一、什麼是MyBatis的逆向工程? MyBatis逆向工程是指用資料庫的表直接生成Java程式碼,利用MyBatis官方提供的逆向工程,可以針對單表自動生MyBatis執行所需要的程式碼(如po類,mapper.java和mapper.xml)
IDEA 中生成 MyBatis 逆向工程實踐
工程1.搭建 MyBatis Generator 插件環境 a. 添加插件依賴 pom.xml <!--mybatis 逆向生成插件--> <plugin> <groupId>org.mybatis
Mac下使用mybatis逆向工程遇到的問題
bat mybatis 問題 工程 gen lmap myba tar 但是 2017-08-29 使用mybatis逆向工程生成代碼時工程運行成功,但是沒有代碼生成。 出現問題的代碼: <sqlMapGenerator targetPackage="xx.xx.m
Intellij Idea在開啟mybatis逆向工程生成的mapper.xml檔案時出現大塊黃色或者是綠色背景
當我們剛剛安裝完idea時,開啟一個mybatis工程的xml對映檔案會看到,介面上出現一大堆的黃色背景,特別難看 將游標放在黃色背景處,可以發現出現提示語“No data sources are configured to run this SQL and provide advance
idea中使用mybatis逆向工程
Intellij IDEA中使用MyBatis-generator 自動生成MyBatis程式碼 1、在idea中安裝MyBatis-generator外掛,點選 File -> Settings -> Plugins,輸入mybatis-generator找到這個外掛,如下圖
【Mybatis】簡單實現mybatis逆向工程
之前做專案經常聽說通過mybatis逆向工程直接生成程式碼,直接使用即可,但是mybatis是如何通過逆向工程生成程式碼的,一直不是很瞭解,最近通過一個小例子實現了一下,下面簡單總結一下: 通過mybatis逆向工程自動生成*-mapper.java介面檔案,m
IDEA下mybatis逆向工程工具和坑點
mybatis逆向工程:使用mybatis generator外掛,將資料庫表自動生成Bean,mapper,dao檔案,幫你剩下大把時光,但其中有很多坑點,這裡也記錄下來。 1. 首先在pom.xml檔案下加外掛的配置 <build> <plugins> &l
IntelliJ IDEA下MyBatis逆向工程生成工具的使用
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//
Mybatis逆向工程的pojo實現序列化介面的程式碼
這兩天在學習一個分散式的專案--淘淘商城,使用了Alibaba的dubbo作為通訊工具,zookeeper作為register,由於dubbo是基於socket協議的,所以在進行pojo傳輸的時候報了異常,因為pojo沒有實現序列化介面,就無法進行基於二進位制的序列化傳輸。報錯如下: 但是很麻煩的一
Mybatis逆向工程之三種實現方法
ntb roo obj tar ges detail 是否 href rip 1.逆向工程之原始方法 (1)下載兩個jar包:mysql-connector-java(6.x版本及以上的和5.x版本有所區別,主要是驅動和時區;詳情參見:https://blog.csdn.n
Mybatis 在 IDEA 中使用 generator 逆向工程生成 pojo,mapper
使用mybatis可以逆向生成pojo和mapper檔案有很多種方式,我以前用的是mybtais自帶的generator包來生成,連線如下:mybatis自己生成pojo 今天我用了IDEA上使用maven專案來生成pojo和mapper,具體步驟如下 1,先配置pom.xml檔案,先配置外
mybatis逆向工程用idea通過pom外掛generator生成程式碼指令
一。 F:/ideaProject/springboot-mybatis-demo mybatis-generator:generate -e 環境搭建: pom檔案: <?xml version="1.0" encoding="UTF
Mac下mybatis逆向工程執行成功卻沒有生成相應的包和檔案-解決辦法
需要注意兩個地方:StartServer.java和genarator.xml StartServer.java: package generator0523; import org.mybatis.generator.api.MyBatisGenerato
Idea 使用Mybatis逆向工程操作步驟
初步接觸IDEA,還不熟悉相關的操作,記錄一下IDEA使用Mybatis逆向工程操作步驟1.引入JAR包:mybatis-generator-core<dependency> <groupId>org.mybatis.generat
Mybatis逆向工程_使用maven-Idea
一個大神寫的gui:https://github.com/astarring/mybatis-generator-gui mybatis-generator有三種用法:命令列、eclipse外掛、maven外掛。個人覺得maven外掛最方便,可以在eclipse/intellij idea等ide上
把Eclipse的逆向工程專案匯入IDEA ,Mybatis逆向工程MyBatis Generator(MBG)的配置,下載地址
MyBatis Generator簡介; MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的程式碼生成器。 MyBatis Generator將生成: 與表結構匹配的Java POJO。這可能包括: 這些類之間存在適當的
Mybatis逆向工程自動生成程式碼(Ubuntu18.04-idea環境)
最近在學習taotao商城專案,有一節是關於mybatis逆向工程的,參考了這個博文,https://blog.csdn.net/yerenyuan_pku/article/details/71909325 是在windows+eclipse環境下完成的,我用的是Ubuntu18.04和idea
idea mybatis逆向工程生成程式碼方法及問題解決
步驟 一. pom檔案中新增外掛 <build> <finalName>zsxt</finalName> <plugins> <plugin> <groupId&g