千家信息网

Mybatis怎么实现ResultMap结果集

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编给大家分享一下Mybatis怎么实现ResultMap结果集的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收
千家信息网最后更新 2026年11月01日Mybatis怎么实现ResultMap结果集

今天小编给大家分享一下Mybatis怎么实现ResultMap结果集的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

数据库中的字段

新建一个项目,拷贝之前的,测试实体类字段不一致的情况

1.新建一个mybatis-03

2.新建db.properties配置文件

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useEncoding=false&characterEncoding=UTF-8&serverTimezone=GMTusername=rootpassword=root

3.新建mybatis-config.xml配置文件

                                                                                                                                               

4.创建com.kuang.utils包,包下创建MybatisUtils工具类

package com.kuang.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;//sqlSessionFactory用来构建sqlSessionpublic class MybatisUtils {    //提升SqlSessionFactory的作用域    private static SqlSessionFactory sqlSessionFactory;    static{        try {//            使用Mybatis第一步获取sqlSessionFactory对象            String resource = "mybatis-config.xml";//            通过Resources读取配置文件            InputStream inputStream = Resources.getResourceAsStream(resource);//          通过SqlSessionFactoryBuilder加载一个流,构建一个sqlSession工厂            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        }catch (IOException e){            e.printStackTrace();        }    }    //    既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。//    SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。    public static SqlSession getSqlSession(){        return sqlSessionFactory.openSession();    }}

5.创建com.kuang.pojo包,里面存储实体类对象User

package com.kuang.pojo;public class User {    private int id;    private String name;    private String password;    public User(int id, String name, String password) {        this.id = id;        this.name = name;        this.password = password;    }    public User() {    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", name='" + name + '\'' +                ", password='" + password + '\'' +                '}';    }}

6.创建com.kuang.dao包,里面存放接口UserMapper以及接口实现类UserMapper.xml

UserMapper

package com.kuang.dao;import com.kuang.pojo.User;import java.util.List;import java.util.Map;public interface UserMapper {        //    根据用户id查询用户信息    User getUserById(Integer id);}

UserMapper.xml

    

7.创建测试类

package com.kuang.dao;import com.kuang.pojo.User;import com.kuang.utils.MybatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.HashMap;import java.util.List;import java.util.Map;public class UserDaoTest {    @Test    public void testGetUserById(){        //第一步:获取SqlSession对象        SqlSession sqlSession = MybatisUtils.getSqlSession();        //执行Sql//        方式一:getMapper(推荐使用)        UserMapper userDao = sqlSession.getMapper(UserMapper.class);        User user1 = userDao.getUserById(1);        System.out.println(user1);        //关闭sqlSession        sqlSession.close();    }}

8测试结果及问题分析

8.1解决方案一:在sql查询语句中为pwd字段起别名起别名

将原sql语句

select id,name,pwd as password from user where id=#{id}

改为

select id,name,pwd as password from user where id=#{id}

8.2 resultMap 结果集映射

字段名:id name pwd
属性名:id name password

                                    

  • resultMap 元素是 MyBatis 中最重要最强大的元素

  • ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了

  • ResultMap 的优秀之处——你完全可以不用显式地配置它们

以上就是"Mybatis怎么实现ResultMap结果集"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

语句 配置 结果 字段 知识 篇文章 对象 文件 测试 元素 内容 别名 实体 接口 数据 数据库 用户 查询 不同 优秀 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会 科技信息互联网 互联网科技革命 沃里互联网科技 深圳期待互联网科技 互联网科技创新企业排名 青海省互联网新科技 上海电发互联网科技有限公司 卫星互联网科技股票 智腾互联网科技有限公司 互联网5g黑科技有哪些 搜狐科技互联网 锡山区互联网智能科技产品供应 广州互联网高科技取餐柜 广州燕处互联网科技有限公司 山东大美朱楼互联网科技有限公司 信承诺互联网科技有限公司 普陀区互联网教育科技管理办法 张家口科技产业互联网平台 互联网科技和医药行业 互联网科技工作委员会毛军 科技互联网公司装修 互联网科技公司有哪些 互联网实体化科技化 智腾互联网科技有限公司 成都互联网科技公司工作好不好 佛山市拉法互联网科技有限公司 互联网科技如何创业 科技信息时代互联网发展 银川新华互联网科技学校招聘
0