快速创建SpringBoot+Spring+Mybatis项目

删除pom中mysql依赖的runtime

pom.xml中添加druid依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.23</version>
</dependency>
数据库连接配置文件
application.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/cybclass?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
# 使用阿里巴巴druid数据源,默认使用自带
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#开启控制台打印sql
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
启动类上添加扫描注解

UserController.java
package net.ybclass.demo.controller;
import net.ybclass.demo.domain.User;
import net.ybclass.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v1/user")
public class UserController {
@Autowired(required = false)
private UserService userService;
@RequestMapping("save")
public Object save(){
User user=new User();
user.setId(11);
user.setName("cyb");
user.setPwd("423");
user.setPhone("123456789");
userService.save(user);
return user;
}
}
User.java
package net.ybclass.demo.domain;
public class User {
private int id;
private String name;
private String pwd;
private String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
UserMapper.java
package net.ybclass.demo.mapper;
import net.ybclass.demo.domain.User;
import org.apache.ibatis.annotations.Insert;
import org.springframework.stereotype.Repository;
@Repository //让spring扫描到
public interface UserMapper {
@Insert("INSERT INTO user (name,pwd,phone) VALUES (#{name},#{pwd},#{phone})")
int save(User user);
}
UserService.java
package net.ybclass.demo.service;
import net.ybclass.demo.domain.User;
public interface UserService {
int save(User user);
}
UserServicceImpl.java
package net.ybclass.demo.service.impl;
import net.ybclass.demo.domain.User;
import net.ybclass.demo.mapper.UserMapper;
import net.ybclass.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service //给Spring扫描
public class UserServiceImpl implements UserService {
@Autowired(required = false)
private UserMapper userMapper;
@Override
public int save(User user) {
return userMapper.save(user);
}
}
演示

开始事务
在启动类上加注解:@EnableTransactionManagement

在业务类上加:@Transactional
