Mybatis插件之自動生成不使用默認(rèn)的駝峰式操作
數(shù)據(jù)庫里面表的字段中帶有“”_“下劃線,我們知道插件默認(rèn)的是將這些帶有下劃線的字段默認(rèn)的變成“優(yōu)美的駝峰式”的。表是肯定不能動的,實(shí)體類的字段也是非常多,改起來非常麻煩,所以就研究了下面這種依靠代碼來實(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 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ǔ)充知識:Mybatis逆向生成,設(shè)置不使用小駝峰命名
實(shí)際項(xiàng)目中,需要將JSON對象儲存下來,但Mybatis逆向生成插件會將數(shù)據(jù)庫中帶 下劃線_ 的字段生成為小駝峰命名的屬性。只需要在 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ù)庫jar 這里選擇自己本地位置--> <classPathEntry location='X:xxxxxxxmysql-connector-java-8.0.17.jar'/> <context 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> <!-- 默認(rèn)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工程只是單獨(dú)的一個工程,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'> <!--使用實(shí)際的字段名--> <property name='useActualColumnNames' value='true'/> </table> </context></generatorConfiguration>
以上這篇Mybatis插件之自動生成不使用默認(rèn)的駝峰式操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Sqlserver之死鎖查詢以及批量解鎖的實(shí)現(xiàn)方法2. Mysql索引常見問題匯總3. MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例4. 如何將Mybatis連接到ClickHouse5. 一文詳解嵌入式SQL6. 刪除流氓的SQL Server20057. 同時安裝sql2000和sql2005,經(jīng)驗(yàn)點(diǎn)滴8. Mybatis動態(tài)SQL的實(shí)現(xiàn)示例9. MySQL 8.0新特性 — 管理端口的使用簡介10. MyBatis-Plus多表聯(lián)合查詢并且分頁(3表聯(lián)合)
