什么是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
@MyBatisDao
public interface ArticleDao {
@Select("select * from t_article where t_article.id=#{id}")
@ResultMap("articleResultMap")
public Article getById(Integer id);
@MyBatisDao
public 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}