java总结:Spring Boot整合Mybatis框架
1.Mybatis概述
Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互。并在JDBC操作的基础上做了封装和优化,它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展。Mybatis框架的简单应用架构,如下图所示:
在当今的互联网应用中项目,mybatis框架通常会由spring框架进行资源整合,作为数据层技术实现数据交互操作。
2.初始配置
1 添加mybatis启动依赖
参考官网mybatis.org/spring,找到springboot菜单选项.基于菜单项找到MyBatis启动依赖。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
注意:在添加此依赖时,一定指定其版本(version),因为在springboot默认配置中没有设置mybatis框架版本。
2 Mybatis配置
我们添加了mybatis依赖以后,spring框架启动时会对mybatis进行自动配置。例如SqlSessionFactory工厂对象的创建。需要对mybatis框架进行简易配置,打开src/main/resources/application.properties文件,在此文件中配置spring datasource
#spring datasource
spring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
3 业务分析及实现
1 基本业务实现及单元测试
基于Spring对MyBatis框架的整合,实现对商品库中数据的删除操作。
第一步:业务API架构设计
第二步:基于id执行商品信息删除,其业务时序
第三步:定义商品业务数据层接口及业务方法。
package com.cy.pj.goods.dao;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
/**
* @Mapper是由Mybatis框架中定义的一个描述数据层接口对象的注解(所有的注解起到一个描述性的作用)
* 系统底层启动mybatis框架会基于@Mapper注解的描述,创建其接口的实现类,并将其实现类对象交给spring管理
*/
@Mapper
public interface GoodsDao {
/**
* 基于id删除数据库中商品信息
* @param id
* @return
*/
@Delete("delete from tb_goods where id=#{id}")
int deleteById(Integer id);
}
第四步:定义测试类,对GoodsDao对象进行应用测试
@SpringBootTest
public class GoodsDaoTests {
@Autowired
private GoodsDao goodsDao;
@Test
public void testDeleteById() {
int rows=goodsDao.deleteById(10);
System.out.println("rows="