springboot整合事务和hikari连接池

在这里插入图片描述
1.pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>

    </parent>
    <groupId>cn.itcast</groupId>
    <artifactId>Spingboot_day1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.9</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--java配置配置数据库要的-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>

        <!--Spring Boot的属性注入需要的-->
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <!--不传递依赖-->
            <optional>true</optional>
        </dependency>

        <!--lombok需要的-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--事务和连接池需要的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>
    </dependencies>
</project>

2.至于事务,SpringBoot中通过注解来控制。就是我们熟知的 @Transactional 使用的时候设置在对应的类或方法上
即可。

创建个service来演示事务:

package com.itheima.service;

import com.itheima.pojo.User;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author QLBF
 * @version 1.0
 * @date 2021/2/21 22:01
 */
@Service
public class UserService {
    
    

    public User queryById(Long id){
    
    
        //根据id查询
        return new User();
    }

    //Transactional如果你其中一个error会自动回滚的
    @Transactional
    public void saveUser(User user){
    
    
        //现在暂时不写具体代码,假假演示
        System.out.println("新增用户");
    }
}

连接池使用:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述因此,我们只需要指定连接池参数即可;打开 application.yml 添加修改配置如下:


spring:
  profiles:
    active: abc,def
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springboot_test
    username: root
    data-password: root

#tomcatΪ端口
server:
  port: 81

#日志记录级别
logging:
  level:
    com.itheima: debug
    org.springframework: info


测试在这里插入图片描述
启动项目,访问http://localhost:81/hello1 ;查看后台输出,一样可以在HelloController中获取到datasource。(打断点)在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GLOAL_COOK/article/details/113925072