mybatis 下划线转驼峰配置

一直以来,在sqlmap文件中,对于数据库中的下划线字段转驼峰,我们都是通过resultmap来做的,如下:

<resultMap id="ISTableStatistics" type="com.medsoft.perfstat.pojo.ISTableStatistics" >
<result column="TABLE_SCHEMA" property="tableSchema" jdbcType="VARCHAR" />
<result column="TABLE_NAME" property="tableName" jdbcType="VARCHAR" />
<result column="ROWS_READ" property="rowsRead" jdbcType="BIGINT" />
<result column="ROWS_CHANGED" property="rowsChanged" jdbcType="BIGINT" />
<result column="ROWS_CHANGED_X_INDEXES" property="rowsChangedXIndexes" jdbcType="BIGINT" />
</resultMap>

<select id="selectISTableStatistics" parameterType="java.util.Map" resultMap="ISTableStatistics">
select
ews.TABLE_SCHEMA,
ews.TABLE_NAME,
ews.ROWS_READ,
ews.ROWS_CHANGED,
ews.ROWS_CHANGED_X_INDEXES
from information_schema.TABLE_STATISTICS ews
where ews.TABLE_SCHEMA not in (‘perf_stat‘,‘mysql‘,‘sys‘,‘performance_schema‘,‘information_schema‘)
and ews.rows_read > 0
</select>

这是件挺无聊的事情,其实mybatis是支持自动转的,只要在mybatis-config.xml中加上mapUnderscoreToCamelCase setting即可,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="conf/db-dialect.properties" />
<settings>
<setting name="logImpl" value="LOG4J"/>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>

这样配置之后,就不需要人工写上面的resultMap了,直接resultType就可以了,对于字段超多的情况,这可以省去不少没意义的时间花费。

时间: 2024-11-10 23:07:56

mybatis 下划线转驼峰配置的相关文章

spring整合mybatis多数据源下部分配置(下划线转驼峰)失效问题

背景:idea,Java,MySQL,mybatis,spring boot,多数据源 最近把单数据源旧项目改造成多数据源时出现了sql属性映射不上展示类,但是打印sql却可以在数据库与正常查询. 找了半天发现是mybatis配置文件中的配置没有生效,下划线转驼峰命名方式挪到了配置类中配置 bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true); 详见https://www.jianshu.com/p/a9d44

mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配。

-- mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配 select concat( '/** ', COLUMN_COMMENT, ' */', 'private ', (case DATA_TYPE when 'varchar' then 'String ' when 'int' then 'Integer ' when 'double' then 'double ' when 'float' then 'double ' when 'datetim

MyBatis Generator 下划线转驼峰命名

MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名作为实体类的属性名,取值true或false. true:MyBatis Generator会使用数据库中实际的字段名字作为生成的实体类的属性名. false:这是默认值.如果设置为false,则MyBatis Generator会将数据库中实际的字段名字转换为Camel Case风格作为生成的实体

驼峰命名和下划线命名互转php实现

驼峰命名和下划线命名经常需要互转,下面提供两种php的实现方式.第一种方法效率相对差一些,实现方式如下: //驼峰命名转下划线命名 function toUnderScore($str) { $dstr = preg_replace_callback('/([A-Z]+)/',function($matchs) { return '_'.strtolower($matchs[0]); },$str); return trim(preg_replace('/_{2,}/','_',$dstr),'

驼峰命名法和下划线风格的互转

偶然遇到这个问题,感觉有些意思,于是研究了一下. 下划线转驼峰比较简单,直接根据下划线打散成数组,每个子项首字符转大写,再做字符串拼接即可. 驼峰转下划线风格,稍微复杂一些.刚开始我没有思路,后来想到,可以遍历字符串,遇到大写字母将其转换成小写,并在前面加一个下划线. 最终实现: class CamelTool{ //驼峰命名法转下划线风格 public static function toUnderScore($str){ $array = array(); for($i=0;$i<strle

【原创】字符串工具类--驼峰法与下划线法互转

在实际项目开发中,会碰到这样的问题,数据库表结构设计好了,可实体类还没相应地弄出来.实体类的属性命名方法一般是驼峰法,而数据库中的表字段命名方法用的是下划线法.如果表的字段非常多,我们根据设计好的数据库字段再手动敲写一遍驼峰法的属性,这有点费时了.如何迅速地把数据库中的表字段变成我们所需要的驼峰式的属性呢? 解决方法有二,一是通过文本编辑工具,如EditPlus,Notepad++等,利用它们携带的正则替换功能来迅速实现:二是通过自己编写工具类来实现.至于第一种方法操作技巧,不在这边赘述.第二种

驼峰法和下划线命名法的互相转换

主要是接口入参太多,python和java的命名不同,做个转换 # coding:utf8 import re class StrTransverter(object): p = re.compile(r'([a-z]|\d)([A-Z])') p2 = re.compile(r'(_\w)') def __init__(self,raw_str): self.raw_str = raw_str def hump2underline(self): """ 驼峰法转换为下划线

mybatis支持属性使用驼峰的命名

在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建.而在 MyBatis-spring 中,则使用 SqlSessionFactoryBean 来替代. typeAliasesPackage属性 该属性可以给包中的类注册别名,注册后可以直接使用类名(在mybatis的XXmapper.xml配置文件中直接使用类名),而不用使用全限定的类名(就是不用包含包名). 该属性可以配置多个,可以用,;\t\n进行分割.但是不支持Ant风格的

Mybatis系列(二)配置

Mybatis系列(二)配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 引入外部