千家信息网

MyBatis中resultType与resultMap的返回类型有哪些

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,小编给大家分享一下MyBatis中resultType与resultMap的返回类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起
千家信息网最后更新 2024年10月20日MyBatis中resultType与resultMap的返回类型有哪些

小编给大家分享一下MyBatis中resultType与resultMap的返回类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、返回集合

1.返回JavaBean集合

public List selectMyUserByNameLike(String name);

测试方法

public static void main(String[] args) {    SqlSession session = null;    try {        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        session = sqlSessionFactory.openSession();        MyUserMapper mapper = session.getMapper(MyUserMapper.class);        List myUsers = mapper.selectMyUserByNameLike("%a%");        System.out.println(myUsers);    } catch (IOException e) {        e.printStackTrace();    } finally {        if (session != null) {            session.close();        }    }}

2.返回 Map 集合

二、返回 Map

1.一条记录

public Map selectMyUserById(Integer id);

2.多条记录,需要指定 Map 的 Key 和 Value 的类型

// 指定 Map 的 Key 从记录中的 id 列获取@MapKey("id")public Map selectMyUserByGtId(Integer id);

三、返回 resultMap 自定义结果集封装

关于自动映射封装的配置

                        

默认数据库字段与 JavaBean 对应不上时可开启驼峰命名或查询时使用别名http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html

1.自定义 JavaBean 的封装

确认是否成功可以关掉 MyBatis 的自动映射

public MyUser selectMyUserById(Integer id);
                        

2.关联查询的封装,一对一,JavaBean 属性包含 JavaBean

public MyUser selectMyUserById(Integer id);

直接调用属性赋值

                        

使用association

                                        

使用association 二次查询,即有两条 SQL

                    
    

开启懒加载:在没有使用 Dept 的属性时,则只会加载 MyUser 的属性。即只会发送一条 SQL 语句,要使用Dept 属性时才会发送第二条 SQL。不会一次性发送两条 SQL

3.关联查询的封装,一对多,JavaBean 属性包含 JavaBean 的集合

使用association

public Dept getDeptById(Integer id);
                                                    

关闭懒加载,使用二次查询

public Dept getDeptByIdStep(Integer did);
                
public List selectMyUserByDid(Integer dId);

4.鉴别器discriminator

                                                                                                

上面测试中使用的实体类与数据

public class Dept {    private Integer id;    private String name;    private List myUsers;public class MyUser {    private Integer id;    private String name;    private Integer age;    private Dept dept;

以上是"MyBatis中resultType与resultMap的返回类型有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

属性 封装 查询 类型 篇文章 内容 数据 关联 测试 成功 一对一 一次性 不怎么 别名 多条 大部分 字段 实体 数据库 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发带鱼屏 我国的软件开发 怎么搜索服务器共享的文件 网络安全研发工程师简历 工程设计服务器配置 广州考试软件开发公司 经纬科技网络技术 医疗器械软件开发好跳槽吗 新加坡国家网络安全战略 湖北移动网络技术有限公司 泰拉瑞亚的服务器ip在哪 网络安全技术方向简历写什么 一百以内的偶数之和数据库 以色列网络安全专业高校 软件开发人的一生 查看ntp服务器 2021网络安全数据题目答案 初始-中国竞彩数据库v4 qq收藏的软件怎么上传到服务器 企业服务器搭建 大数据网络安全法规 tomcat 服务器安装 互联网软件开发过程概述 源数据库引擎到目标数据库引擎 服务器怎么删除物理垃圾 裸金属服务器常见行业场景 支付宝网络技术有限公司怎么取消 活力网络安全工程师招聘 我的世界1.18幻界服务器 qq收藏的软件怎么上传到服务器
0