Mybatis嵌套查询讲解内容的基础
来源:互联网 发布:java实训学校 编辑:程序博客网 时间:2024/05/21 05:38
例子是参考Mybatis文档创建的一个简单例子,一共涉及4个表,每个表都有很少的几个属性。
由于说明该内容需要东西太多,专门分成两篇文章,一篇提供表以及基础代码,一篇专门讲内容。
表如下:
Blog表
Blog_user表
Blog_post表
Blog_comments表
代码(其他对象不在这儿贴出来了,请需要的自己下载):
BlogMapper.java
public interface BlogMapper { BlogDto selectById(String id);}
BlogMapper.xml
<?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="com.easternie.records.dao.BlogMapper" > <resultMap id="userMap" type="com.easternie.records.vo.model.BlogUser"> <id property="userid" column="userid"/><result property="username" column="username" /><result property="password" column="password" /><result property="userinfo" column="userinfo" /> </resultMap> <resultMap id="BlogDtoMap" type="com.easternie.records.vo.model.BlogDto"> <constructor><idArg column="id" javaType="String"/> </constructor> <result property="title" column="title" /> <result property="url" column="url" /> <result property="userid" column="userid" /> <association property="user" resultMap="userMap" /> <collection property="posts" ofType="com.easternie.records.vo.model.BlogPostDto"> <id property="postid" column="postid" /> <!-- <result property="userid" column="userid" /> --> <result property="postdate" column="postdate" /> <result property="postinfo" column="postinfo" /> <association property="user" resultMap="userMap"/> <collection property="comments" ofType="com.easternie.records.vo.model.BlogComments"> <id property="commentid" column="commentid" /> <result property="username" column="username2"/> <result property="msg" column="msg"/> </collection> </collection> </resultMap> <select id="selectById" resultMap="BlogDtoMap" parameterType="java.lang.String" > select a.id, a.title, a.userid, a.url, b.username, b.password, b.userinfo, c.postid, c.postdate, c.postinfo, d.commentid, d.username username2, d.msg from blog a left join blog_user b on a.userid = b.userid left join blog_post c on a.userid = c.userid left join blog_comments d on c.postid = d.postid where id = #{id} </select></mapper>
调用代码:
MyBatis myBatis = MyBatis.getInstance();try {SqlSessionFactory sessionFactory = myBatis.getSqlSessionFactory();SqlSession session = sessionFactory.openSession();BlogMapper blogMapper = session.getMapper(BlogMapper.class);BlogDto blogDto = blogMapper.selectById("1");show(blogDto);} catch (Exception e) {e.printStackTrace();}
0 2
- Mybatis嵌套查询讲解内容的基础
- Mybatis嵌套查询的原理与例子
- MyBatis嵌套查询解析
- MyBatis查询嵌套对象
- MyBatis嵌套查询解析
- 深入讲解SQL Server数据库的嵌套子查询
- MyBatis 基础讲解
- 使用MyBatis(九)一对多的集合的嵌套查询
- mybatis 嵌套查询,一对多
- Mybatis接口映射,嵌套查询
- mybatis 嵌套查询 学习记录
- mybatis 一对多,嵌套查询
- mybatis的嵌套查询和延迟加载分析
- mybatis的嵌套查询和延迟加载分析
- Mybatis关联查询(嵌套查询)
- Mybatis关联查询(嵌套查询)
- Mybatis查询基础
- mybatis查询数据库基础
- 由remote_login_passwordfile参数引发的问题
- google app engine支持https(ssl)的开发环境配置
- varchar和varchar2的区别
- 160亿美元收购WhatsApp:2年后,Facebook消灭对手的成本翻了10倍
- 拓胜第六十八天~第七十天
- Mybatis嵌套查询讲解内容的基础
- 链表反转
- 创业中应该避免的13个失败因素
- Linux下静默安装,升级和删除Oracle客户端
- Android 用纯代码实现复杂界面
- [堆][贪心]cf228cFox and Box Accumulation
- VisualNet地税管道综合资源管理系统
- C#将格式为yyyyMMdd的时间转化为yyyy-MM-dd类型
- ios 蓝牙