MyBatis
概念
Mybaitis是一个优秀的持久层框架,底层基于JDBC实现与数据的交互。并在JDBC的操作和基础上进行了封装和优化它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展。当今的互联网中,mybatis框架通常会由spring框架进行资源整合,作为数据层技术实现数据交互操作。
准备工作
在SpringBoot脚手架工程中,Spring框架会基于MyBatis框架底层配置,创建SqlSessionFactory对象,然后再通过此工厂对象创建SqlSession,最后基于Spring框架为测试类注入SqlSession对象。
整合MyBatis业务代码实现及原理分析
业务描述:Springboot对Mybatis整合,实现对商品库中商品数据的查询
业务代码设计及实现
定义商品模块POJO对象类型
/**用于存储商品信息的pojo对象*/
public class Goods{
private Long id;
private String name;
private String remark;
private Date createdTime;
}
定义商品模块持久层对象GoodsDao接口及方法映射
/**商品模块持久层对象,基于此对象的实现类操作商品库中的数据
* @Mapper MyBatis框架中定义,用于描述持久层接口,告诉mybatis
* 这个接口的实现类由mybatis创建,并且交给spring框架管理.
* */
@Mapper
public interface GoodsDao{
List<Goods> findGoods();
}
<mapper namespace="com.cy.pj.goods.dao.GoodsDao">
<select id="findGoods" resultType="com.cy.pj.goods.pojo.Goods">
select * from tb_goods
</select>
</mapper>
测试代码的编写及运行
public class GoodsDaoTests{
@Autowired
private GoodsDao goodsdao;
@Test
void testFindGoods(){
List<Goods> list=goodsdao.findGoods();
for(Goods g:list){
sout();
}
}
}