一、在Eclipse中安裝mybatis generator
創(chuàng)新互聯(lián)公司是一家專業(yè)提供建寧企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為建寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
菜單選擇: Help->Eclipse Marketplace
二、 創(chuàng)建generatorConfig.xml配置文檔
配置好的generatorConfig.xml文件內(nèi)容:
<?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> <!--加載屬性文件 --> <properties resource="application.properties" /> <!-- context:生成一組對(duì)象的環(huán)境 id:必選,上下文id,用于在生成錯(cuò)誤時(shí)提示 defaultModelType:指定生成對(duì)象的樣式 1,conditional:類似hierarchical; 2,flat:所有內(nèi)容(主鍵,blob)等全部生成在一個(gè)對(duì)象中; 3,hierarchical:主鍵生成一個(gè)XXKey對(duì)象(key class),Blob等單獨(dú)生成一個(gè)對(duì)象,其他簡單屬性在一個(gè)對(duì)象中(record class) targetRuntime: 1,MyBatis3:默認(rèn)的值,生成基于MyBatis3.x以上版本的內(nèi)容,包括XXXBySample; 2,MyBatis3Simple:類似MyBatis3,只是不生成XXXBySample; introspectedColumnImpl:類全限定名,用于擴(kuò)展MBG --> <context id="context1" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple"> <!-- 自動(dòng)識(shí)別數(shù)據(jù)庫關(guān)鍵字,默認(rèn)false,如果設(shè)置為true,根據(jù)SqlReservedWords中定義的關(guān)鍵字列表; 一般保留默認(rèn)值,遇到數(shù)據(jù)庫關(guān)鍵字(Java關(guān)鍵字),使用columnOverride覆蓋 --> <property name="autoDelimitKeywords" value="false" /> <!-- 生成的Java文件的編碼 --> <property name="javaFileEncoding" value="UTF-8" /> <!-- 格式化java代碼 --> <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" /> <!-- 格式化XML代碼 --> <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter" /> <!-- beginningDelimiter和endingDelimiter:指明數(shù)據(jù)庫的用于標(biāo)記數(shù)據(jù)庫對(duì)象名的符號(hào),比如ORACLE就是雙引號(hào),MySQL默認(rèn)是`反引號(hào); --> <property name="beginningDelimiter" value="`" /> <property name="endingDelimiter" value="`" /> <!-- 實(shí)現(xiàn)自定義的代碼生成器plugin --> <!-- <plugin type="org.mybatis.PaginationPlugin" /> --> <commentGenerator> <property name="suppressDate" value="true" /> <!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- 數(shù)據(jù)庫連接URL,用戶名,密碼 --> <jdbcConnection driverClass="${spring.datasource.driver-class-name}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}"> <property name="nullCatalogMeansCurrent" value="true" /> </jdbcConnection> <!-- java類型處理器 用于處理DB中的類型到Java中的類型,默認(rèn)使用JavaTypeResolverDefaultImpl; 注意一點(diǎn),默認(rèn)會(huì)先嘗試使用Integer,Long,Short等來對(duì)應(yīng)DECIMAL和 NUMERIC數(shù)據(jù)類型; --> <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"> <!-- true:使用BigDecimal對(duì)應(yīng)DECIMAL和 NUMERIC數(shù)據(jù)類型 false:默認(rèn), scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--生成模型的包名和位置 --> <javaModelGenerator targetPackage="com.kai.demo.model" targetProject="demo/src/main/java"> <!-- for MyBatis3/MyBatis3Simple 自動(dòng)為每一個(gè)生成的類創(chuàng)建一個(gè)構(gòu)造方法,構(gòu)造方法包含了所有的field;而不是使用setter; --> <property name="constructorBased" value="false" /> </javaModelGenerator> <!--映射文件的包名和位置 --> <sqlMapGenerator targetPackage="com.kai.demo.mapper" targetProject="demo/src/main/java" /> <!--DAO的包名和位置 --> <javaClientGenerator targetPackage="com.kai.demo.dao" targetProject="demo/src/main/java" type="XMLMAPPER"> <!-- 是否允許建立子包,對(duì)應(yīng)Mysql的Schema --> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--要生成哪些表 --> <table schema="mybatis" tableName="%" enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
(我也不知道為什么itpub的xml片段插入之后,結(jié)尾會(huì)多了點(diǎn),正確的xml幾位應(yīng)該是)
選中g(shù)eneratorConfig.xml文件,右鍵菜單Run As->Run Mybatis Generator 生成Model、Dao、Mapper
創(chuàng)建User表的SQL:
DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `nickname` varchar(50) DEFAULT NULL, `regtime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
四、對(duì)UserMapper進(jìn)行單元測試
在項(xiàng)目的src/test/java下創(chuàng)建類文件UserMapperTest.java
@RunWith(SpringRunner.class) @SpringBootTest public class UserMapperTest { @Autowired private UserMapper userMapper; @Test public void testQuery() throws Exception { User user = userMapper.selectByPrimaryKey(1); System.out.println(user.toString()); } }
右鍵Run As->JUnit Test
完整環(huán)境下載地址: https://github.com/CatherineHu/Spring-Boot-Mybatis-MVC
本文名稱:SpringBoot+Mybatis+SpringMVC環(huán)境配置(二):MybatisGenerator配置
鏈接URL:http://jinyejixie.com/article8/igocop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站營銷、關(guān)鍵詞優(yōu)化、定制開發(fā)、ChatGPT、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)