Mybatis下划线驼峰处理的几种方法
目录
- 1、可编程客栈以通过写别名
- 2、开启驼峰命名
- 3、自定义Javabean的封装规则
首先先说明一下为什么会出现这种情况
数据库当中有时候会起一些带下划线的列名,例如: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="MyphpSimpleEmp">
<!--指定主键列的封装规则
id定义主键会底层有优化;
column:指定哪一列
js property:指定对应的javaBean属性
-->
<id column="id" property="id"/>
<!-- 定义普通列封装规则 -->
<result column="last_name" property="lastName"/>
<!-- 其他不指定的列会自动封装:我们只要写resultMap就把全部的映射规则都写上。 -->
<result column="email" property="email"/>
<result column="gender" propephprty="gender"/>
</resultMap>
<select id="getEmpById" resultMap="MySimpleEmp">
select * from student where id = #{id}
</select>
以上就是Mybatis下划线驼峰处理的几种方法的详细内容,更多关于Mybatis下划线驼峰处理的资料请关注编程客栈(www.devze.com)其它相关文章!
加载中,请稍侯......
精彩评论