mybatis学习-- 级联查询 注解式写法

来源:互联网 发布:p2p网络借贷平台排名 编辑:程序博客网 时间:2024/06/03 21:53

http://www.yihaomen.com/article/java/302.htm
转自

什么是mybatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录

orm工具的基本思想
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory 产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。
5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。

1.接口方式编程, 方法名对应 xml,select Id

2.级联查询 注解式写法

注以下为自己写的例子:

public class Article {    private Integer id;    private Media media;    set and get
@MyBatisDaopublic interface ArticleDao  {    @Select("select * from t_article where t_article.id=#{id}")    @ResultMap("articleResultMap")    public Article getById(Integer id);
@MyBatisDaopublic interface MediaDao {    @Select("select * from t_media where id=#{id}")    public Media getById(Integer id);}

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.ydyx.cms.dao.ArticleDao">    <resultMap id="articleResultMap" type="com.xxxxx.cms.entity.Article">        <id property="id" column="id" />            <association property="media" column="media_id" select="com.xxx.cms.dao.MediaDao.getById" />    </resultMap></mapper>

测试结果的json数据
{“result”:{“id”:16,”media”:{“id”:15,”name”:”15”,”url”:”234”},”title”:”15”},”status”:200}

0 0