Mybatis怎么实现ResultMap结果集
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,今天小编给大家分享一下Mybatis怎么实现ResultMap结果集的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
网络安全分为几
软件开发高级工程师满分多少分
长沙西门子软件开发待遇
网络安全图片简笔绘画
服务器光模块生产商家
两个系统可以操作一个数据库么
部队网络安全条幅
vbs数据库编程教程
山东收付宝网络技术
m 服务器
影像处理与视觉神经网络技术
网络安全检察一般会问什么问题
优势的数据库中间件
鸥玛软件开发
测试数据库基础
昆明公司软件开发
光遇一直显示服务器错误怎么处理
浏览器数据库太大了怎么办
软件开发哪里接私活
网络安全等级保护五个级别
5年软件开发去国企好吗
网络安全班会黑板设计
坚决打好网络安全
华为济南软件开发
肥城软件开发价格
浙江大学 网络安全 人才
腾讯的轻量服务器是k8吗
无线网络技术的优点
路由dhcp服务器设置非法
宁夏智慧景区软件开发