第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办【Java面试题】
- 前言
- 推荐
- 第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办
- 题目
- 解决
- 1.写sql语句时起别名
- 2.在MyBatis的全局配置文件中开启驼峰命名规则
- 3.在Mapper映射文件中使用resultMap来自定义映射规则
- 最后
前言
2022 9/30 15:00
路漫漫其修远兮,吾将上下而求索
本文是根据尚硅谷学习所做笔记
仅供学习交流使用,转载注明出处
第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办
题目
MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办
类中属性lastName
数据库中字段last_name
解决方案:
1.写sql语句时起别名
2.在MyBatis的全局配置文件中开启驼峰命名规则
3.在Mapper映射文件中使用resultMap来自定义映射规则
解决
1.写sql语句时起别名
select id,last_name lastName from employess where id =#{id}
2.在MyBatis的全局配置文件中开启驼峰命名规则
在mybatis-config.xml中
<settings>
<!--开启驼峰命名规则,可以将数据库中的下划线映射为驼峰命名
例如: last_name可以映射为lastName
-->
<setting name= "mapUnderscoreTocamelcase" value="true"/>
</settings>
3.在Mapper映射文件中使用resultMap来自定义映射规则
在EmployeeMapper中
<select id= "getEmployeeByid" resultMap="myMap">
select * from employees where id =#{id}< / select>
<!--自定义高级映射–->
<resultMap type="com.atguigu.mybatis.entities.EmpLoyee" id="myMap">
<!--映射主键-->
<id column= "id" property="id" />
<!--映射其他列–->
<result column="Last_name" property="LastName" />
<result column= "email" property= "email" />
<result column="saLary" property="saLary"/>
<result column= "dept_id" property="deptId"/>
</resultMap>
最后
2022 9/30 15:51
p11
Markdown 1200 字数 96 行数
HTML 1173 字数 47 段落