0
点赞
收藏
分享

微信扫一扫

第一季:11MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办【Java面试题】


第一季: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 段落


举报

相关推荐

0 条评论