Mybatis插件之自動生成不使用默認的駝峰式操作
數(shù)據(jù)庫里面表的字段中帶有“”_“下劃線,我們知道插件默認的是將這些帶有下劃線的字段默認的變成“優(yōu)美的駝峰式”的。表是肯定不能動的,實體類的字段也是非常多,改起來非常麻煩,所以就研究了下面這種依靠代碼來實現(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" /> <!-- 默認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"/>
補充知識:Mybatis逆向生成,設置不使用小駝峰命名
實際項目中,需要將JSON對象儲存下來,但Mybatis逆向生成插件會將數(shù)據(jù)庫中帶 下劃線_ 的字段生成為小駝峰命名的屬性。
只需要在 generatorConfig.xml 中加入
<!--使用實際的字段名-->
<property name="useActualColumnNames" value="true"/>
就可以生成實際字段名的實體類。
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ù)庫jar 這里選擇自己本地位置--> <classPathEntry location="X:\xxx\xxxx\mysql-connector-java-8.0.17.jar"/> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自動生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--數(shù)據(jù)庫連接的信息:驅(qū)動類、連接地址、用戶名、密碼 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/dbname" userId="root" password="123456"> </jdbcConnection> <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把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ù)庫返回的值被清理前后的空格 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- targetProject:mapper映射文件生成的位置 如果maven工程只是單獨的一個工程,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ù)庫表 %通配--> <table schema="" tableName="talbe_name"> <!--使用實際的字段名--> <property name="useActualColumnNames" value="true"/> </table> </context> </generatorConfiguration>
以上這篇Mybatis插件之自動生成不使用默認的駝峰式操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java如何向指定文件操作一段內(nèi)容(增加,刪除均可使用本方法)
這篇文章主要介紹了Java如何向指定文件操作一段內(nèi)容(增加,刪除均可使用本方法),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Mybatis實現(xiàn)自定義類型轉(zhuǎn)換器TypeHandler的方法
Mybatis實現(xiàn)自定義的轉(zhuǎn)換器非常的簡單,只需要三步就可以實現(xiàn)自定義類型轉(zhuǎn)換器TypeHandler,非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧2016-07-07SpringBoot實現(xiàn)點餐系統(tǒng)的登錄與退出功能流程詳解
結(jié)束了Springboot+MyBatisPlus也是開始了項目之旅,將從后端的角度出發(fā)來整理這個項目中重點業(yè)務功能的梳理與實現(xiàn)2022-10-10spring-shiro權限控制realm實戰(zhàn)教程
這篇文章主要介紹了spring-shiro權限控制realm實戰(zhàn)教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10