SpringBoot整合MyBatis的使用

在传统的SSM框架整合中,使用MyBatis需要大量的XML配置,而在SpringBoot中,MyBatis官方提供了一套自动化配置方案,可以做到MyBatis开箱即用。

1.添加依赖

  1. org.springframework.boot
  2. spring-boot-starter-web
  3. org.mybatis.spring.boot
  4. mybatis-spring-boot-starter
  5. 1.3.2
  6. com.alibaba
  7. druid
  8. 1.1.9
  9. mysql
  10. mysql-connector-java
  11. runtime

MyBatis依赖、数据库驱动依赖以及数据库连接地依赖

2.数据库配置
application.properties中配置数据库基本连接信息

  1. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  2. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
  3. spring.datasource.username=root
  4. spring.datasource.password=l23456
  5. 3.创建数据库访问层(dao层)
  6. @Mapper
  7. public interface BookMapper{
  8. int deleteBookByid(String id);
  9. }

在项目的根包下面创建一个子包Mapper,在Mapper中创建BookMapper
有两种方式指明该类是一个Mapper:第一种如前面的代码所示,在Book.Mapper上添加@Mapper注解,表明该接口是一个MyBatis中的Mapper,这种方式需要在每一个Mapper上都添加注解还有一种简单的方式是在配直类上添加MapperScan(”org.nonelonely.mapper”)主解,表示扫描org.nonelonely.mapper下的所有接口作为Mapper,这样就不需要在每个接口上配直@Mapper注解了
4.创建BookMapper.xml
与BookMapper相同的位置创建BookMapper.xml文件

  1. < ?xml version="1.0" encoding="UTF-8"?>
  2. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. namespace="org.nonelonely.mapper.BookMapper">
  5. id="deleteBookByid" parameterType="String">
  6. delete from
  7. test where ID =
  8. #{id,jdbcType=VARCHAR}

针对BookMapper接口中的每一个方法都在BookMapper.xml中列出了现。#{}用来代替接口中的参数,实体类中的属性可以直接通过#{实体类属性名}获取。
5.配置pom.xml文件
Maven工程中,XML配置文件建议写在resources目录下,但是上文的Mapper.xml文件写在包下,Maven在运行时会忽略包下的XML文件,因此需要在pom.xml文件中重新指明资源文件位置,配置如下:

  1. src/main/java
  2. **/*.xml
  3. src/main/resources

6.在service层使用

  1. @Service
  2. public class BookService {
  3. @Autowired
  4. BookMapper bookMapper ;
  5. //......
  6. }