Mybatis关联映射(关联单个对象)
来源:互联网 发布:烟台淘宝招聘 编辑:程序博客网 时间:2024/06/05 15:51
案例:关联查询出List<Book>(含有Use属性)(查询所有的笔记本)
修改Book的实体类,添加User属性
需要添加属性如下:
//后添加的User属性,用于关联查询private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}
------------------------------------------------------------------------
利用两条SQL语句
------------------------------------------------------------------------
映射器Dao接口:
//关联单个对象public List<Book> findBookAndUser();//关联查询案例(两条SQL)查询所有笔记本
------------------------------------------------------------------------
映射文件Mapper<!-- 关联单个对象 --> <!-- 关联查询List<Book>,实体类中添加了User属性--> <!-- 使用两条SQL语句关联单个对象 --> <select id="findBookAndUser" resultMap="bookMap"> select * from cn_notebook </select> <resultMap id="bookMap" type="cn.tedu.cloud_note.entity.Book" > <!-- cn_notebook表中属性与字段相同可以省略 --> <association property="user" javaType="cn.tedu.cloud_note.entity.User" select="findUser" column="cn_user_id"> </association> </resultMap> <select id="findUser" parameterType="string" resultType="cn.tedu.cloud_note.entity.User"> select * from cn_user where cn_user_id = #{id} </select>
------------------------------------------------------------------------
测试代码和结果:
@Test//测试关联查询出List<Book>(含有Use属性)两条SQL语句(查询所有的笔记本)public void testfindBookAndUser(){List<Book> book = dao.findBookAndUser();if(book != null && book.size() > 0){System.out.println("=======笔记本信息=======");for(Book b : book){System.out.println("笔记本:"+b.getCn_notebook_name()+"$$$"+ b.getCn_notebook_createtime());if(b.getUser() != null){System.out.println("用户名:"+b.getUser().getCn_user_name());}}}}测试结果:
=======笔记本信息=======笔记本:wsf$$$2014-06-27 15:18:59.0用户名:wsf笔记本:笔记本1111$$$2014-06-27 15:18:59.0用户名:zhoujia笔记本:笔记本1$$$2014-06-27 15:18:59.0用户名:zhoujia笔记本:笔记本1$$$2014-06-27 15:18:59.0用户名:zhoujia......省略
=========================================
利用一条SQL语句
------------------------------------------------------------------------
映射器Dao接口:
public List<Book> findBookAndUser1();//关联查询案例(单条SQL)查询所有笔记本
------------------------------------------------------------------------
Mapper文件:
<!-- 使用单条SQL语句关联单个对象 --> <select id="findBookAndUser1" resultMap="bookMap2"> select * from cn_notebook m,cn_user n where m.cn_user_id = n.cn_user_id </select> <resultMap id="bookMap2" type="cn.tedu.cloud_note.entity.Book" > <!-- 字段进行关联 --> <id property="cn_notebook_id" column="cn_notebook_id"/> <result property="cn_user_id" column="cn_user_id"/> <result property="cn_notebook_type_id" column="cn_notebook_type_id"/> <result property="cn_notebook_name" column="cn_notebook_name"/> <result property="cn_notebook_desc" column="cn_notebook_desc"/> <result property="cn_notebook_createtime" column="cn_notebook_createtime"/> <association property="user" javaType="cn.tedu.cloud_note.entity.User"> <id property="cn_user_id" column="cn_user_id"/> <result property="cn_user_name" column="cn_user_name"/> <result property="cn_user_password" column="cn_user_password"/> <result property="cn_user_token" column="cn_user_token"/> <result property="cn_user_nick" column="cn_user_nick"/> </association> </resultMap>
------------------------------------------------------------------------
测试代码和结果同上
阅读全文
0 0
- Mybatis关联映射(关联单个对象)
- Mybatis关联映射(关联多个对象)
- mybatis-查询(resultMap,关联单个对象)-14
- MyBatis之关联映射
- MyBatis关联映射
- MyBatis关联映射
- mybatis关联查询映射
- Mybatis 关联映射
- MyBatis关系关联映射
- mybatis关联映射
- Mybatis之关联映射
- Mybatis关联映射
- mybatis配置关联映射
- Mybatis系列(七)关联映射
- Hiberante对象关联映射
- Hibernate对象关联映射
- Mybatis多表关联映射
- MyBatis 关联映射之一对一
- mysql-商户查询自己的交易记录
- RQNOJ 329 刘翔!加油!
- 10、UDP用户数据报协议
- Bat命令中路径含有空格处理方法
- nodejs WEB框架express入门教程
- Mybatis关联映射(关联单个对象)
- java抽象类
- 使用idea快速搭建springboot
- WiFi是什么?
- netty4.0.23 初学的demo
- 字符串--AC自动机
- windows操作系统Oracle数据库--删除归档日志
- DevOps实践-打造自服务持续交付 -下
- Git学习笔记(5)----基本操作及命令(远程仓库篇)