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来将其代替。