java mybatis开启事务_新版SpringBoot-Spring-Mybatis事务控制

本文介绍了如何在SpringBoot应用中配置和使用Spring与Mybatis进行事务控制。通过添加Druid数据源依赖,配置数据库连接,并在启动类启用事务管理。接着展示了在UserService和UserMapper中实现用户保存操作,以及在控制器层调用服务方法。最后,通过在业务类上添加@Transactional注解来开启事务管理。
摘要由CSDN通过智能技术生成

快速创建SpringBoot+Spring+Mybatis项目

https://start.spring.io

6f3355d030cbaf4d178c00f8bb706f38.png

删除pom中mysql依赖的runtime

eb64dffe5bf48de1a2ba0ddde0dda71c.png

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

启动类上添加扫描注解

8d7804e9189c5597d24027b2d9072ed2.png

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);

}

}

演示

b963f0829675ba5fc31e5f3c7b056ca0.png

开始事务

在启动类上加注解:@EnableTransactionManagement

f5caa9f49f28c45582968d70c4778287.png

在业务类上加:@Transactional

8f8f275a19742165ef3207b8305e8ce3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值