MyBatis中表中字段名和实体类中属性名不同的解决办法
程序员文章站
2022-05-29 13:15:00
...
应对实体类和表中列名不相对的方法:
首先在Windows系统下,MySql不区分大小写,所有username和userName是相同的
但是只要实体类和表中数据列名有一个字母除大小写外不相同,那么就封装不进数据
解决方法:
1.在sql层面进行解决。直接使用as起别名
2.第二种是在映射文件中写resultMap标签进行对应。
id用于指定调用对应resultMap的唯一标识,type用于指定对应的实体类
下面的标签用于指定对应主键,就是用于指定实体类和表中对应的字段,调用时,指定封住的属性由parameterType换成resultMap
指定别名的方法提高了运行效率,但是编写resultMap提高了开发效率,因为resultMap可以复用,不像写别名一样,每次都需要重新指定。
这里吧resultMap的源码贴上,有需要的自取,我这是从我的笔记中copy的,图片都是二次截图,所有有的地方不好看,多担待吧。
<resultMap id="userMap" type="com.qst.pojo.User">
<id property="userId" column="id"></id>
<result property="userName" column="username"/>
<result property="userDirthday" column="birthday"/>
<result property="userSex" column="sex"/>
<result property="userAddress" column="address"/>
</resultMap>
<select id="findAll" resultMap="userMap" >
select * from user;
</select>
上一篇: CSS3实现旋转的魔法盒子
下一篇: py3 中文字符串对齐问题