快速创建SpringBoot+Spring+Mybatis项目
https://start.spring.io
删除pom中mysql依赖的runtime
pom.xml中添加druid依赖
com.alibaba
druid
1.1.23
数据库连接配置文件
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
packagenet.ybclass.demo.controller;importnet.ybclass.demo.domain.User;importnet.ybclass.demo.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v1/user")public classUserController {
@Autowired(required= false)privateUserService userService;
@RequestMapping("save")publicObject save(){
User user=newUser();
user.setId(11);
user.setName("cyb");
user.setPwd("423");
user.setPhone("123456789");
userService.save(user);returnuser;
}
}
User.java
packagenet.ybclass.demo.domain;public classUser {private intid;privateString name;privateString pwd;privateString phone;public intgetId() {returnid;
}public void setId(intid) {this.id =id;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getPhone() {returnphone;
}public voidsetPhone(String phone) {this.phone =phone;
}publicString getPwd() {returnpwd;
}public voidsetPwd(String pwd) {this.pwd =pwd;
}
}
UserMapper.java
packagenet.ybclass.demo.mapper;importnet.ybclass.demo.domain.User;importorg.apache.ibatis.annotations.Insert;importorg.springframework.stereotype.Repository;
@Repository//让spring扫描到
public interfaceUserMapper {
@Insert("INSERT INTO user (name,pwd,phone) VALUES (#{name},#{pwd},#{phone})")intsave(User user);
}
UserService.java
packagenet.ybclass.demo.service;importnet.ybclass.demo.domain.User;public interfaceUserService {intsave(User user);
}
UserServicceImpl.java
packagenet.ybclass.demo.service.impl;importnet.ybclass.demo.domain.User;importnet.ybclass.demo.mapper.UserMapper;importnet.ybclass.demo.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;
@Service//给Spring扫描
public class UserServiceImpl implementsUserService {
@Autowired(required= false)privateUserMapper userMapper;
@Overridepublic intsave(User user) {returnuserMapper.save(user);
}
}
演示
开始事务
在启动类上加注解:@EnableTransactionManagement
在业务类上加:@Transactional