您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Mybatis實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫表的實(shí)體類”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
# 數(shù)據(jù)庫驅(qū)動(dòng)jar 路徑 本地創(chuàng)庫的包 drive.class.path=C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar # 數(shù)據(jù)庫連接參數(shù) jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.1.188:3306/sxhy_user?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=rhzh # 包路徑配置 model.package=com.fishing.personal.common.entity xml.mapper.package=com.fishing.personal.common.dao.mapper target.project=src/main/java
<?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"> <!-- 配置Run As Maven build : Goals 參數(shù) : mybatis-generator:generate -Dmybatis.generator.overwrite=true --> <!-- 配置 tableName,使用 Run As Maven build 生成 dao model 層 --> <!-- maven執(zhí)行命令:mybatis-generator:generate --> <generatorConfiguration> <!-- 配置文件路徑 --> <properties url="${mybatis.generator.generatorConfig.properties}"/> <!--數(shù)據(jù)庫驅(qū)動(dòng)包路徑 --> <classPathEntry location="${drive.class.path}"/> <!-- 上下文配置、核心配置 屬性介紹 defaultModelType: conditional:*這是默認(rèn)值*,這個(gè)模型和下面的hierarchical類似,除了如果那個(gè)單獨(dú)的類將只包含一個(gè)字段,將不會(huì)生成一個(gè)單獨(dú)的類。 因此,如果一個(gè)表的主鍵只有一個(gè)字段,那么不會(huì)為該字段生成單獨(dú)的實(shí)體類,會(huì)將該字段合并到基本實(shí)體類中。 flat:該模型為每一張表只生成一個(gè)實(shí)體類。這個(gè)實(shí)體類包含表中的所有字段。**這種模型最簡單,推薦使用。** hierarchical:如果表有主鍵,那么該模型會(huì)產(chǎn)生一個(gè)單獨(dú)的主鍵實(shí)體類,如果表還有BLOB字段, 則會(huì)為表生成一個(gè)包含所有BLOB字段的單獨(dú)的實(shí)體類, 然后為所有其他的字段生成一個(gè)單獨(dú)的實(shí)體類。 MBG會(huì)在所有生成的實(shí)體類之間維護(hù)一個(gè)繼承關(guān)系。 --> <context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat"> <!-- 自動(dòng)為表名加上前后綴,防止表名中出現(xiàn)空格發(fā)生異常(mysql=`) --> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!--關(guān)閉注釋 --> <commentGenerator> <!-- 阻止生成注釋 --> <property name="suppressAllComments" value="false"/> <!-- 阻止生成注釋包含時(shí)間戳 --> <property name="suppressDate" value="true"/> </commentGenerator> <!-- 自定義注釋生成類,為以上節(jié)點(diǎn)添加type屬性 --> <!-- <commentGenerator type="com.package.abel533.mybatis.generator.MyCommentGenerator"/> --> <!--數(shù)據(jù)庫連接信息 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!--生成的model 包路徑 --> <javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}"> <!-- 是否根據(jù)catalog和schema來生成子包 --> <property name="enableSubPackages" value="ture"/> <!-- 是否使用構(gòu)造方法入?yún)?nbsp;--> <property name="trimStrings" value="true"/> <!-- 是否對(duì)字符串進(jìn)行trim操作 --> <property name="trimStrings" value="false" /> </javaModelGenerator> <!--生成xml mapper文件 路徑 --> <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}"> <!-- 是否根據(jù)catalog和schema來生成子包 --> <property name="enableSubPackages" value="ture"/> </sqlMapGenerator> <!-- 生成的Dao接口 的包路徑 --> <!-- type屬性介紹:(僅用于mybatis3) ANNOTATEDMAPPER:基于注解的Mapper接口,不會(huì)有對(duì)應(yīng)的XML映射文件 MIXEDMAPPER:XML和注解的混合形式,(上面這種情況中的)SqlProvider注解方法會(huì)被XML替代。 XMLMAPPER:所有的方法都在XML中,接口調(diào)用依賴XML文件。 --> <!-- <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}"> 是否根據(jù)catalog和schema來生成子包 <property name="enableSubPackages" value="ture"/> </javaClientGenerator> --> <!-- 對(duì)應(yīng)數(shù)據(jù)庫表名 --> <table tableName="user_client" modelType="flat"> <!-- 配置所有到方法的根接口 --> <property name="rootInterface" value="com.rhzh.client.core.generic.GenericDao<Object, Integer>" /> <!-- 配置主鍵 --> <generatedKey column="id" sqlStatement="Mysql" identity="true"/> </table> <!-- 手動(dòng)配置table --> <!-- <table tableName="數(shù)據(jù)庫表名" domainObjectName="自動(dòng)生成的實(shí)體類名" ....更多見參考文檔> 配置表的主鍵以及所使用的sql語法 <generatedKey column="id" sqlStatement="Mysql"/> ....更多見參考文檔 </table> --> </context> </generatorConfiguration>
idea通過數(shù)據(jù)庫直接生成mybatis的xml和實(shí)體文件,很簡單,一共分三步
1.配置generatorConfig.xml
2.配置pom
3.配置命令 mybatis-generator:generate -e
以下會(huì)自動(dòng)生成entity,mapper,和xml文件
mapper上是沒有@Mapper注解的呦
<!--<?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:數(shù)據(jù)庫的JDBC驅(qū)動(dòng),換成你自己的驅(qū)動(dòng)位置 可選 --> <classPathEntry location="F:\aaaRepository\java\repository\mysql\mysql-connector-java\8.0.17\mysql-connector-java-8.0.17.jar"/> <context id="mysql"> <commentGenerator> <property name="suppressDate" value="true" /> <property name="suppressAllComments" value="true" /> </commentGenerator> <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/aaa?serverTimezone=GMT%2B8" driverClass="com.mysql.cj.jdbc.Driver" password="root" userId="root" /> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="com.aaa.bbb.entity" targetProject="src/main/java" > <property name="constructorBased" value="false"/> </javaModelGenerator> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <javaClientGenerator targetPackage="com.aaa.bbb.mapper" targetProject="src/main/java" type="XMLMAPPER" > </javaClientGenerator> <table tableName="ccc" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"> </table> </context> </generatorConfiguration>
“context” 的內(nèi)容必須匹配按照下面的順序配置 ?號(hào)的可以沒有
(connectionFactory|jdbcConnection), javaTypeResolver?, javaModelGenerator, sqlMapGenerator?, javaClientGenerator?, table+
<build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
運(yùn)行上邊的命令就行了,實(shí)體是駝峰形式的,也可以修改配置和數(shù)據(jù)庫一樣
public class Ccc{ private Integer id; private String identifyCode; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getIdentifyCode() { return identifyCode; } public void setIdentifyCode(String identifyCode) { this.identifyCode = identifyCode; } }
“Mybatis實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫表的實(shí)體類”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。