mysql spring 连接池_spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法...

此方法为极简配置,支持MySQL数据库多库连接、支持Hikari连接池、支持MyBatis(包括Dao类和xml文件位置的配置)。

1、pom.xml中引入依赖:

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.1.1

org.apache.tomcat

tomcat-jdbc

com.zaxxer

HikariCP

mysql

mysql-connector-java

我们使用了mybatis-spring-boot-starter,并让它把tomcat-jdbc连接池排除掉,这样spring-boot就会寻找是否有HikariCP可用,第二个依赖就被找到了,然后mysql-connector也有了。

2、application.yml中的相关配置:

spring:

profiles:

active: dev

datasource:

driver-class-name: com.mysql.jdbc.Driver

username: root

password: 123456

hikari:

maxLifetime: 1765000 #一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒以上

maximumPoolSize: 15 #连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)

mybatis:

mapperLocations: classpath:mapper/*.xml

---

# 开发环境配置

spring:

profiles: dev

datasource:

url: jdbc:mysql://localhost:3306/

---

# 测试环境配置

spring:

profiles: test

datasource:

url: jdbc:mysql://192.168.0.12:3306/

---

# 生产环境配置

spring:

profiles: prod

datasource:

url: jdbc:mysql://192.168.0.13:3306/

其中,datasource.url最后面不跟dbName,这样就可以支持多个db的情况,使用的时候只需要在sql语句的table名前面里面指定db名字就行了。

3、Dao接口代码:

package com.xjj.dao;

import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Select;

import com.xjj.entity.Person;

@Mapper

public interface PersonDAO {

@Select("SELECT id, first_name AS firstName, last_name AS lastName, birth_date AS birthDate, sex, phone_no AS phoneNo"

+ " FROM test.t_person WHERE id=#{0};")

public Person getPersonById(int id);

public int insertPerson(Person person);

public int updatePersonById(Person person);

public int updatePersonByPhoneNo(Person person);

}

只需要用@Mapper注解,就可以支持被Mybatis找到,并支持在方法上面写SQL语句。

4、XML文件:

在resources目录下创建mapper目录,然后创建xml文件如下:

INSERT INTO test.t_person(first_name,last_name,birth_date,sex,phone_no,update_dt)

VALUES(#{firstName},#{lastName},#{birthDate},#{sex},#{phoneNo},NOW())

UPDATE test.t_person SET

first_name=#{firstName}, last_name=#{lastName}, birth_date=#{birthDate}, sex=#{sex}, phone_no=#{phoneNo}

WHERE id=#{id}

UPDATE test.t_person SET

first_name=#{firstName}, last_name=#{lastName}, birth_date=#{birthDate}, sex=#{sex}

WHERE phone_no=#{phoneNo}

5、测试:

@Test

public void dbTest() throws JsonProcessingException{

Person person2 = personDAO.getPersonById(2);

logger.info("person no 2 is: {}", objectMapper.writeValueAsString(person2));

person2.setFirstName("八");

personDAO.updatePersonById(person2);

person2 = personDAO.getPersonById(2);

logger.info("person no 2 after update is: {}", objectMapper.writeValueAsString(person2));

assertThat(person2.getFirstName(), equalTo("八"));

}

总结

以上所述是小编给大家介绍的spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值