第一步:
第二步:
第三步:
代码:
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssm_in?useUnicode=true&characterEncoding=utf-8&useSSL=false
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
第四步:
测试:
修改添加错误:
即使发生错误依旧插入数据
第五步:(开启事务)
测试:
产生报错显示插入成功,但是数据库没有添加数据
相关类的创建:
User:
public class User {
private int id;
private String phone;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
UserController:
@RestController
@RequestMapping("api/v1/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("save")
public Object save(){
User user=new User();
user.setName("小帅");
user.setPhone("56161999");
userService.save(user);
return user;
}
}
UserService
public interface UserService {
int save(User user);
}
UserServiceImpl
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public int save(User user) {
userMapper.save(user);
int i=2/0;
return 1;
}
}
UserMapper
@Repository
public interface UserMapper {
@Insert("insert into user(name,phone) values(#{name},#{phone})")
int save(User user);
}