Mybatis插件之自動(dòng)生成不使用默認(rèn)的駝峰式操作
數(shù)據(jù)庫(kù)里面表的字段中帶有“”_“下劃線,我們知道插件默認(rèn)的是將這些帶有下劃線的字段默認(rèn)的變成“優(yōu)美的駝峰式”的。表是肯定不能動(dòng)的,實(shí)體類的字段也是非常多,改起來(lái)非常麻煩,所以就研究了下面這種依靠代碼來(lái)實(shí)現(xiàn)的方式。
修改配置文件:
<?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="E:\mysql-connector-java-5.1.29.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true" /> <property name="suppressDate" value="true" /> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://172.16.14.40:3306/zhu" userId="zhu" password="zhu" /> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> <!-- 默認(rèn)false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer true,把JDBC DECIMAL 和 NUMERIC 類型解析為java.math.BigDecimal --> </javaTypeResolver> <javaModelGenerator targetPackage="com.tt.domain" targetProject="MybatisT/src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.tt.domain" targetProject="MybatisT/src/main/resources"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <table tableName="zlpg_value" enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" selectByExampleQueryId="true" enableUpdateByExample="false"> <property name="useActualColumnNames" value="true"/> <!-- <generatedKey column="ID" sqlStatement="oracle" identity="true" /> --> </table> </context> </generatorConfiguration>
<property name="useActualColumnNames" value="true"/>
補(bǔ)充知識(shí):Mybatis逆向生成,設(shè)置不使用小駝峰命名
實(shí)際項(xiàng)目中,需要將JSON對(duì)象儲(chǔ)存下來(lái),但Mybatis逆向生成插件會(huì)將數(shù)據(jù)庫(kù)中帶 下劃線_ 的字段生成為小駝峰命名的屬性。
只需要在 generatorConfig.xml 中加入
<!--使用實(shí)際的字段名-->
<property name="useActualColumnNames" value="true"/>
就可以生成實(shí)際字段名的實(shí)體類。
package com.sbk.pojo;
public class BoxPushedData {
private String camera_name;
private Integer channel;
private Integer device_id;
private String img_id;
//省略...
}
generatorConfig.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>
<!--mysql 連接數(shù)據(jù)庫(kù)jar 這里選擇自己本地位置-->
<classPathEntry
location="X:\xxx\xxxx\mysql-connector-java-8.0.17.jar"/>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--數(shù)據(jù)庫(kù)連接的信息:驅(qū)動(dòng)類、連接地址、用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/dbname"
userId="root"
password="123456">
</jdbcConnection>
<!-- 默認(rèn)false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時(shí)把JDBC DECIMAL 和
NUMERIC 類型解析為java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject:生成PO類的位置 -->
<javaModelGenerator targetPackage="com.sbk.pojo"
targetProject="src/main/java">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false"/>
<!-- 從數(shù)據(jù)庫(kù)返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置
如果maven工程只是單獨(dú)的一個(gè)工程,targetProject="src/main/java"
若果maven工程是分模塊的工程,targetProject="所屬模塊的名稱",例如:
targetProject="ecps-manager-mapper",
targetProject="src/main/resources"
下同-->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.sbk.mapper"
targetProject="src/main/java">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 指定數(shù)據(jù)庫(kù)表 %通配-->
<table schema="" tableName="talbe_name">
<!--使用實(shí)際的字段名-->
<property name="useActualColumnNames" value="true"/>
</table>
</context>
</generatorConfiguration>
以上這篇Mybatis插件之自動(dòng)生成不使用默認(rèn)的駝峰式操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何向指定文件操作一段內(nèi)容(增加,刪除均可使用本方法)
這篇文章主要介紹了Java如何向指定文件操作一段內(nèi)容(增加,刪除均可使用本方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Mybatis實(shí)現(xiàn)自定義類型轉(zhuǎn)換器TypeHandler的方法
Mybatis實(shí)現(xiàn)自定義的轉(zhuǎn)換器非常的簡(jiǎn)單,只需要三步就可以實(shí)現(xiàn)自定義類型轉(zhuǎn)換器TypeHandler,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-07-07
SpringBoot實(shí)現(xiàn)點(diǎn)餐系統(tǒng)的登錄與退出功能流程詳解
結(jié)束了Springboot+MyBatisPlus也是開(kāi)始了項(xiàng)目之旅,將從后端的角度出發(fā)來(lái)整理這個(gè)項(xiàng)目中重點(diǎn)業(yè)務(wù)功能的梳理與實(shí)現(xiàn)2022-10-10
Spring定時(shí)任務(wù)實(shí)現(xiàn)與配置(二)
這篇文章主要為大家詳細(xì)介紹了Spring定時(shí)任務(wù)的實(shí)現(xiàn)與配置第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
spring-shiro權(quán)限控制realm實(shí)戰(zhàn)教程
這篇文章主要介紹了spring-shiro權(quán)限控制realm實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10

