Mybatis之封装MyBatis输出结果

本文详细介绍了MyBatis中resultType和resultMap的使用,包括简单类型、对象类型和Map的转换,并探讨了当实体类属性名与列名不一致时的处理方式,以及如何进行模糊查询。
摘要由CSDN通过智能技术生成

1>resultType

  • resultType: 执行 sql 得到 ResultSet 转换的类型,使用类型的完全限定名或别名。 注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身。
  • resultType 和resultMap,不能同时使用。
    在这里插入图片描述

1.1、简单类型

  • 接口方法:
int countStudent();
  • mapper 文件:
<select id="countStudent" resultType="int">
	select count(*) from student
</select>
  • 测试方法:
@Test
public void testRetunInt(){
   
	int count = studentDao.countStudent();
	System.out.println(" 学生总人数:"+ count);
}

1.2、对象类型

  • 接口方法:
Student selectById(int id);
  • mapper 文件:
  • resultType是全限定名称或者别名
<select id="selectById" resultType="com.bjpowernode.domain.Student">
	select id,name,email,age from student where id=#{
   studentId}
</select>
  • 框架的处理: 使用构造方法创建对象。调用 setXXX 给属性赋值。
  • Student student = new Student();
    在这里插入图片描述
  • 我的思考:一开始就在思考为什么不在构造方法里面传入参数,这里让我想明白了,因为Mybatis是通过无参构造方法和set语句来帮助我们创建对象的

1.3、Map

  • sql 的查询结果作为 Map 的 key 和 value。推荐使用 Map<Object,Object>。
  • 注意:Map作为接口返回值,sql语句的查询结果最多只能有一条记录。大于一条记录是错误。
  • 接口方法:
	Map<Object,Object> selectReturnMap(int id);
  • mapper 文件:
<select id="selectReturnMap" resultType="java.util.HashMap">
	select name,email from student where id = #{
   studentId}
</select>
  • 测试方法:
@Test
public void testReturnMap(){
   
	Map<Object,Object> retMap = studentDao.selectReturnMap(1002)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值