Mybatis怎么实现ResultMap结果集
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,今天小编给大家分享一下Mybatis怎么实现ResultMap结果集的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
移动宽带电视服务器访问失败原因
连云区无忧网络技术推荐咨询
游戏服务器 知乎
陕西军工时钟同步服务器
如何将数据库导入pdsoft
武汉智程云网络技术
审批流程 数据库
上海互升网络技术有限公司
网络技术电子书
网络安全备案怎么办理
数据库加密 授权 中标
数据库哪四种筛选类型
web服务器学习
华为手机和云服务器哪个好
后台服务器错误怎么办
江苏企业软件开发推荐咨询
hib 数据库
安全数据库品牌
查找数据库时怎么导出
云计算网络安全审查
天津浪潮服务器续保调试
数据运维网络安全委员会
淘宝数据库安全管理
上海软件开发中心总经理
dataset写入数据库
机电系统网络安全论文
部队手机网络安全讨论题
软件开发收费合同模板
中石油互联网科技分公司
网络安全鉴定