java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Mybatis下划线驼峰处理

Mybatis下划线驼峰处理的几种方法

作者:怪 咖@

这篇文章主要讲述Mybatis下划线驼峰处理的几种方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

首先先说明一下为什么会出现这种情况

数据库当中有时候会起一些带下划线的列名,例如:last_Name,而javabean当中一般遇下划线都是驼峰显示的。一般起名称都是这样 lastName,这时候就会出现一个问题,就是封装不到javabean里面值。就是因为数据库列名和javabean名称不一致而封装不上。

在这里插入图片描述

java对象

在这里插入图片描述

查出来会发现赋值不上去

Employee [id=1, lastName=null, email=1, gender=1]

这时候有人该说了,我javabean当中也用last_name不上也可以呀。
答案:可以,但是Java中一般是final变量才用大写字母+下划线命名。

1、可以通过写别名

在针对于对象属性多的情况下就不实用了。写起来可能因为这一个名称,全得把列名写出来。

<select id="getEmpById" resultType="com.gzl.mybatis.bean.Employee">
	select id as id,last_Name as lastName,email as email,gender as gender from student where id = #{id}
</select>

2、开启驼峰命名

在mybatis-config-xml添加以下配置,切记xml是有顺序要求的,如果xml当中用到了properties标签,就放在这个标签下面,如果没有就放在最上面。

<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

3、自定义javabean的封装规则

<!--自定义某个javaBean的封装规则
	type:自定义规则的Java类型
	id:唯一id方便引用
	  -->
	<resultMap type="com.gzl.mybatis.bean.Employee" id="MySimpleEmp">
		<!--指定主键列的封装规则
		id定义主键会底层有优化;
		column:指定哪一列
		property:指定对应的javaBean属性
		  -->
		<id column="id" property="id"/>
		<!-- 定义普通列封装规则 -->
		<result column="last_name" property="lastName"/>
		<!-- 其他不指定的列会自动封装:我们只要写resultMap就把全部的映射规则都写上。 -->
		<result column="email" property="email"/>
		<result column="gender" property="gender"/>
	</resultMap>
 	
 	<select id="getEmpById" resultMap="MySimpleEmp">
		select * from student where id = #{id}
	</select>

以上就是Mybatis下划线驼峰处理的几种方法的详细内容,更多关于Mybatis下划线驼峰处理的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文