CarmenSystem
前言
上一章已经简单建立了相关数据表,这一章将介绍如何使用mybatis操作数据,本人其实一向比较喜欢Jpa这种简单的东西,但学习嘛,还是想用点新的,所以最终决定使用可以灵活调试动态Sql的Mybatis。
纯用Mybatis需要配置很多文件,但Springboot就是牛逼,任何框架只要关联上它都能化繁为简,mybatis-spring-boot-starter 就是 Spring Boot+ Mybatis 可以完全注解不用配置文件,也可以简单配置轻松上手。
一、引入pom
官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot
首先我们引入mybatis-spring-boot-starter以及mysql驱动,如下:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
二、配置application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/carmen?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.yzli.carmensystem.pojo
mybatis.mapper-locations=classpath:mybatis/*.xml
其中SpringBoot会自动加载spring.datasource.*的配置,数据源会自动注入到sqlSessionFactory,然后sqlSessionFactory会自动注入到mapper中
mybatis.type-aliases-package以及mybatis.mapper-locations分别指定了实体类和配置文件的位置
三、生成xml配置文件
在resource文件夹地下生成mybatis目录用于存放映射配置文件,这里以Role表操作为例,如下:
<?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.yzli.carmensystem.dao.RoleDao">
<resultMap id="BaseResultMap" type="com.yzli.carmensystem.pojo.Role">
<id column="id" jdbcType