SpringBoot入门08-整合Mabatis

Posted hello,vicme!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot入门08-整合Mabatis相关的知识,希望对你有一定的参考价值。

整合所需的依赖

注解方式和映射文件方式的mybatis都可以被整合进springboot

创建springboot的web项目后,在pom加入spring-mybatis和mysql-jdbc和thymeleaf架包依赖

<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.2.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>

 

而且值得注意的是,这里必须要指定版本号,往常我们使用springboot之所以不需要指定版本号,是因为我们引入的Maven Parent中指定了SpringBoot的依赖,SpringBoot官方依赖Pom文件中已经指定了它自己集成的第三方依赖的版本号, 对于有些依剌官方并没有提供自己的starter,所以必须跟正常的maven依赖一样,要加版本号

 

 

项目controller层、service层和mapper层所需的注解

 

三层注入IOC的注解

控制层使用@Controller

业务层使用@Service

持久层使用@Mapper

application.properties中配置数据库

spring.thymeleaf.prefix=classpath:templates/page/

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=199751hwl
mybatis.mapper-locations=classpath:mybaits/mapping/*.xml
mybatis.config-locations=classpath:mybaits/mybatis-config.xml

设置mybatis配置文件和mybatis映射文件,注解方式的mybatis后面这两条

 

 

整合mabatis的mapper层

mapper层每个接口上都得加上 @Mapper

@Mapper
public interface UserMapper {
    @Select("select * from tb_user")
    public List<User> selectAllUser();
    @Insert("insert into tb_user(username, age, ctm) values(#{username}, #{age}, #{ctm})")
    public int insertUser(User user);
}


如果接口上不加@Mapper, 则必须在配置类上使用@MapperScan设置Mapper层的包,示例如下
@SpringBootApplication
@MapperScan({"com.xx.mapper"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 

 

配置mybatis与注解方式mybatis被整合时的区别

注解方式Mapper接口的方法加注解@Select,@Insert, @Delete,@Update, 配置方式不加注解

配置方式多了mybatis的配置文件和写sql语句的映射文件

在application.properties中设置mybatis的配置文件路径和mybatis的映射文件路径

 

mybatis配置文件

在springboot整合mybatis配置方式中mybatis配置文件的作用
可以起别名等....
例如:在mybatis配置文件mybatis-config.xml中配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<typeAlias type="com.xx.domain.User" alias="user" />
	</typeAliases>
</configuration>
则可以在映射文件中使用user替换com.xx.domain.User,下面是示例
<select id="selectAllUser" resultType="user">
    	 select * from tb_user
</select>

  

springboot_junit测式

 

以上是关于SpringBoot入门08-整合Mabatis的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot入门级教程:SpringData(JDBC,Druid,Mybatis)整合,SpringSecurity和Shiro

spring-boot | 整合通用Mabatis 分页插件PageHelper

Docker安装Elasticsearch+SpringBoot整合Elasticsearch新手入门

minio安装配置教程及整合springboot(史上最强保姆级教程---minio入门)

SpringBoot入门基础:介绍

Java之Spring Boot入门到精通IDEA版SpringBoot整合其他框架Junit,Redis,MyBatis(一篇文章精通系列)中