springboot同mybatis整合

Posted 龚轩明

tags:

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

 springboot和mybatis整合有两种开发模式,首先要做的是配置好开发环境,

实现步骤:

在maven文件pom中配置:

  1)SpringBoot同Mybatis整合的依赖。

<dependency>
   <groupId>com.ruijc</groupId>
   <artifactId>spring-boot-starter-mybatis</artifactId>
   <version>3.2.2</version>
</dependency>

  2)SpringBoot操作数据库需要数据库的jar包(如mysql的jar包),还有需要连接池的jar包。

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.1.2</version>
</dependency>

3)肯定需要做jdbc属性配置:

  包含连接字符串,用户名,密码,最大连接数等

server:
  address:
192.168.31.212
  port: 10090
  context-path: /three
spring:
  datasource:
    driver-class-name:
com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bookonline
    username: root
    password: 12345678

第一种:

      注解开发:

1)通过注解的方式开发Mapper接口

 1  package com.jinglin.dao.imp;
 2 
 3 
 4 
 5 import com.jinglin.model.ManagerUser;
 6 
 7 import org.apache.ibatis.annotations.Insert;
 8 
 9 import org.apache.ibatis.annotations.Mapper;
10 
11 import org.apache.ibatis.annotations.Param;
12 
13 
14 
15 /**
16 
17  * Created by sony on 2017/8/2.
18 
19  */
20 
21 @Mapper
22 
23 public interface ManagerUserMapper {
24 
25     @Insert("insert into manageruser(username,userpwd,roleid)" +
26 
27             "values(#{managerUser.username},#{managerUser.userpwd},#{managerUser.roleid})")
28 
29     public int additem(@Param("managerUser")ManagerUser managerUser);
30 
31 }

 

2)开发service层,之前开发的serivice

3)开发controller层,跟之前开发的controller层一样

第二种:

  配置开发模式:

配置mybatis的相关的属性。在resource文件夹下创建一个新的文件夹,该文件夹用以存放mybatis的mapper映射文件。另外就需要在yml配置mybatis的属性:

server:
  address:
192.168.31.212
  port: 10090
  context-path: /three
spring:
  datasource:
    driver-class-name:
com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bookonline
    username: root
    password: 12345678
mybatis:
  mapper-locations:
classpath*:mybatis/*Mapper.xml

  type-aliases-package: com.jinglin.model

 

其中mapper-locations表示的是mapper映射文件路径

type-aliases-package:数据库映射的实体包名

1)开发dao层:

public interface BookTypeDao extends IDaoShop<BookType> {
}

2)配置映射文件:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4 <mapper namespace="com.jinglin.dao.imp.BookTypeDao">
5     <insert id="additem" parameterType="BookType">
6         insert into booktype(typename)values(#{typename})
7     </insert>
8 </mapper>

3)将所有的dao层的操作接口全部扫描到spring中,扫描的方式是在启动类中加入注解:

@SpringBootApplication
@MapperScan("com.jinglin.dao.imp")
public class ThreedemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(ThreedemoApplication.class, args);
   }
}

红色标记的就表示将哪个包扫描到spring中。

 

4)后面的开发同之前的一样,开发service层,开发controller层。

 

5) 如果需要在service层的方法里加入事务。采取的是注解的事务开发:

需要在引入事务的方法上加注解@Transactional

 1 @Service
 2 public class BookTypeService {
 3     @Autowired
 4     private BookTypeDao bookTypeDao;
 5     @Transactional
 6     public int additem(BookType bookType){
 7         int i=bookTypeDao.additem(bookType);
 8         BookType booktype2 = new BookType();
 9         booktype2.setTypeid(10);
10         booktype2.setTypename("aaddbddddddweweeeee");
11         i+=bookTypeDao.updateitem(booktype2);
12         return i;
13 
14     }
15 }

总结:springboot开发同ssm基础是一样的,也要搭配环境,首先就是类似springboot同mybatis的整合,1、创建依赖 2、导入操作数据库的jar包 3、做jdbc的连接配置包括连接字符串、用户名,用户密码等。做xml配置文件,需要先创建文件夹存储。必须在yml中配置mybatis。

不同点:在ssm中向页面发送内容一般采用@Responsebody 在springboot中可以用RestController来将其代替。

 

 

   










































以上是关于springboot同mybatis整合的主要内容,如果未能解决你的问题,请参考以下文章

spring同mybatis整合的总结及配置

springboot整合mybatis,redis,代码

SpringBoot整合Mybatis之Annotation

springboot整合mybatis,redis,代码

SpringBoot系列Mybatis整合

SpringBoot系列Mybatis整合