mybatis association的使用
在上一篇文章中介绍了collection的使用以及java bean,表的结构,今天进行association使用的学习,在多对一的映射关系中,查询到多的一方顺带查询出一的一方是常见的!在此例子中,在查询文章的时候顺带将作者查询出来!
映射文件为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="article">
<resultMap id="myMap" type="article">
<association column="user" property="user" javaType="user"
select="selectUser">
</association>
</resultMap>
<select id="selectUser" resultType="user">
select * from user
where id=#{id}
</select>
<sql id="article_saveWithUser">
insert into article(name,time,user)
values(#{name},#{time},#{user.id})
</sql>
<sql id="article_saveNoUser">
insert into article(name,time) values(#{name},#{time})
</sql>
<select id="article_selectAll" resultMap="myMap">
select * from
article
</select>
<insert id="article_save" parameterType="article">
<if test="user!=null">
<include refid="article_saveWithUser" />
</if>
<if test="user==null">
<include refid="article_saveNoUser" />
</if>
</insert>
</mapper>
测试:
@Test
public void testSelectAll()
{
List<Article> result = service.findAll(null);
for (Article a : result)
{
System.out.println(a);
}
}
结果:
Article [id=1, name=firstArticle, time=2013-11-3 0:00:00, user=User [article=null, id=1, name=d]]
Article [id=2, name=secondArticle, time=2013-11-3 0:00:00, user=User [article=null, id=1, name=d]]
级联查询成功!
最新文章
- [LeetCode] Count Complete Tree Nodes 求完全二叉树的节点个数
- 解决:error: Cannot fetch repo (TypeError: expected string or buffer)
- Maven最佳实践:Maven仓库(转)
- Android工作学习第5天之TabHost实现菜单栏底部显示
- JavaSE复习总结之集合(Collection)
- bat自动执行telnet
- windows8输入法终极完美修复
- BootstrapDialog.show函数底层简化
- BZOJ1640: [Usaco2007 Nov]Best Cow Line 队列变换
- const和非const函数重载
- nginx log format
- queue STL
- java多线程基本概述(二)——Thread的一些方法
- Python爬虫进阶(Scrapy框架爬虫)
- Identity Server 4 预备知识 -- OAuth 2.0 简介
- 登录RabbitMQ的方法
- Windows7的MySQL数据库的安装
- Java 1.ExecutorService四种线程池的例子与说明
- LeetCode141:Linked List Cycle
- C++ STL 常用遍历算法
热门文章
- python工业互联网监控项目实战4—python opcua
- thinkphp5 --接口实例
- 关于virtualbox配置centos7的网络问题
- Java算法之 二分搜寻法 ( 搜寻原则的代表)
- Kudu,支持快速分析的新型Hadoop存储系统
- TreeMap分析(中)
- 云时代 • 新契机:2017届中国SaaS产业大会圆满落幕
- USACO Training Section 1.3混合牛奶 Mixing Milk
- [bzoj2427]P2515 [HAOI2010]软件安装(树上背包)
- muduo网络库源码学习————日志滚动