mybatis使用示例:返回列表类型

本示例的场景:查询返回列表。

  • 数据库user表:

在这里插入图片描述

  • 模型User 的类定义:
package com.thb.model;

public class User {

    private int id;
    private String userName;
    private String homeTown;

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUserName() {
        return this.userName;
    }

    public void setUserName(String name) {
        this.userName = name;
    }

    public String getHomeTown () {
        return this.homeTown;
    }

    public void setHomeTown(String hometown) {
        this.homeTown = hometown;
    }
}
  • UserMapper.java接口定义:
package com.thb.mapper;

import java.util.List;

public interface UserMapper {

   List<User> selectManyUsers();
   
}
  • mapper xml文件中的对应映射:

使用resultMap:

  <resultMap type="com.thb.model.User" id="userResultMap">
    <id property="id" column="id"/>
    <result property="userName" column="user_name"/>
    <result property="homeTown" column="home_town"/>
  </resultMap> 
  
  <select id="selectManyUsers" resultMap="userResultMap">
    select id, user_name, home_town from user
  </select>

或者使用resultType

  <select id="selectManyUsers" resultType="com.thb.model.User">
    select
      id as "id",
      user_name as "userName",
      home_town as "homeTown"
    from user
  </select>

注意,resultType指定的是列表中元素的类型,而不是集合类型本身
https://mybatis.org/mybatis-3/sqlmap-xml.html#select
在这里插入图片描述

调用代码片段:

// 取得一个SqlSession
try (SqlSession session = sqlSessionFactory.openSession()) {
    // 取得mapper
    UserMapper mapper = session.getMapper(UserMapper.class);

    List<User> manyUsers = mapper.selectManyUsers();
    System.out.println("returned records of user: " + manyUsers.size());
    for (User user : manyUsers) {
        System.out.println("*".repeat(60));
        System.out.println("id = " + user.getId());
        System.out.println("userName = " + user.getUserName());
        System.out.println("homeTown = " + user.getHomeTown());
    }
}

运行输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值