mybatis封装mysql_Mybatis的输出结果封装

mybatis的输出结果封装

resultType属性可以指定结果集的类型,它支持基本类型和实体类类型。

需要注意的是,它和parameterType一样,如果注册过类型别名的,可以直接使用别名。

没有注册过的必须使用全限定类名。

同时,当是实体类名称是,还有一个要求,实体类中的属性名称必须和查询语句中的列名保持一致,否则无法实现封装。

当实体类属性和数据库表的列名不一致时:

修改实体类代码:(此时的实体类属性和数据库表的列名已经不一致了)

7a0c0dead9c07d5e7175c406bc6bc32e.png

数据库列名:

eca26eceaaf6d8f0345286144d192237.png

此时若是还是使用原来的映射配置文件

548d7c723137a26cd5d964dd7372958e.png

执行查询后的结果:

bc0a90c52563984edf213fb261bd7818.png

为什么名称会有值呢?

因为 mysql在windows系统中不区分大小写! LInux系统下严格区分大小写

解决思路一:使用别名进行查询

此时 若修改映射配置  使用别名进行查询

7e10e63ffeb1bfb79389bf5445b5647e.png

此时可以将结果正常封装进去

705bd3ed8247bdda8dff5bd06e4385a9.png

解决思路二:使用resultMap结果类型

resultMap标签可以建立  查询的列名  和  实体类的属性名称  不一致时  建立对应关系。从而实现封装。

在select标签中使用resultMap属性指定引用即可。

同时resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list  实现一对一查询和一对多查询。

定义resultMap

resultMap标签中:

type属性:指定实体类的全限定类名

id属性:给定一个唯一标识,是给查询select标签引用用的。

id标签:用于指定主键字段

result标签:用于指定非主键字段

column属性:用于指定数据库列名

property属性:用于指定实体类属性名称

ea7cc5b5d70c79aab79510f69ca5a33d.png

结果:

705bd3ed8247bdda8dff5bd06e4385a9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值