目录
- 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)其它相关文章!
精彩评论