一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法

spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法

2021-04-10 12:59Clement-Xu Java教程

這篇文章主要介紹了spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法,需要的朋友可以參考下

此方法為極簡(jiǎn)配置,支持MySQL數(shù)據(jù)庫(kù)多庫(kù)連接、支持Hikari連接池、支持MyBatis(包括Dao類和xml文件位置的配置)。

1、pom.xml中引入依賴:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- Begin of DB related -->
 <dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
  <exclusions>
   <exclusion>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
   </exclusion>
  </exclusions>
 </dependency>
 <dependency>
  <groupId>com.zaxxer</groupId>
  <artifactId>HikariCP</artifactId>
 </dependency>
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
 </dependency>
<!-- End of DB related -->

我們使用了mybatis-spring-boot-starter,并讓它把tomcat-jdbc連接池排除掉,這樣spring-boot就會(huì)尋找是否有HikariCP可用,第二個(gè)依賴就被找到了,然后mysql-connector也有了。

2、application.yml中的相關(guān)配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
spring:
 profiles:
 active: dev
 datasource:
 driver-class-name: com.mysql.jdbc.Driver
 username: root
 password: 123456
 hikari:
  maxLifetime: 1765000 #一個(gè)連接的生命時(shí)長(zhǎng)(毫秒),超時(shí)而且沒(méi)被使用則被釋放(retired),缺省:30分鐘,建議設(shè)置比數(shù)據(jù)庫(kù)超時(shí)時(shí)長(zhǎng)少30秒以上
  maximumPoolSize: 15 #連接池中允許的最大連接數(shù)。缺省值:10;推薦的公式:((core_count * 2) + effective_spindle_count)
mybatis:
 mapperLocations: classpath:mapper/*.xml
---
# 開發(fā)環(huán)境配置
spring:
 profiles: dev
 datasource:
 url: jdbc:mysql://localhost:3306/
---
# 測(cè)試環(huán)境配置
spring:
 profiles: test
 datasource:
 url: jdbc:mysql://192.168.0.12:3306/
---
# 生產(chǎn)環(huán)境配置
spring:
 profiles: prod
 datasource:
 url: jdbc:mysql://192.168.0.13:3306/

其中,datasource.url最后面不跟dbName,這樣就可以支持多個(gè)db的情況,使用的時(shí)候只需要在sql語(yǔ)句的table名前面里面指定db名字就行了。

3、Dao接口代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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語(yǔ)句。

4、XML文件:

在resources目錄下創(chuàng)建mapper目錄,然后創(chuàng)建xml文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xjj.dao.PersonDAO">
 <!-- 插入數(shù)據(jù)庫(kù)用戶表 -->
 <insert id="insertPerson">
  INSERT INTO test.t_person(first_name,last_name,birth_date,sex,phone_no,update_dt)
  VALUES(#{firstName},#{lastName},#{birthDate},#{sex},#{phoneNo},NOW())
 </insert>
 <update id="updatePersonById">
  UPDATE test.t_person SET
   first_name=#{firstName}, last_name=#{lastName}, birth_date=#{birthDate}, sex=#{sex}, phone_no=#{phoneNo}
  WHERE id=#{id}
 </update>
 <update id="updatePersonByPhoneNo">
  UPDATE test.t_person SET
   first_name=#{firstName}, last_name=#{lastName}, birth_date=#{birthDate}, sex=#{sex}
  WHERE phone_no=#{phoneNo}
 </update>
</mapper>

5、測(cè)試:

?
1
2
3
4
5
6
7
8
9
10
@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("八"));
}

總結(jié)

以上所述是小編給大家介紹的spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:http://blog.csdn.net/ClementAD/article/details/52944505

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲男人天堂2023 | 狠狠澡 | 99热这里只有精品国产在热久久 | 国产成人精品第一区二区 | 男人捅女人漫画 | 亚洲qvod图片区电影 | 皇上好大好硬好涨好深好爽 | 免费看一区二区三区 | 国产精品理论片 | 人人精品久久 | 国内自拍成人网在线视频 | 卫生间被教官做好爽HH视频 | 秘书小说| 欧美操大逼视频 | 玩高中女同桌肉色短丝袜脚文 | 成人不卡在线 | 9191精品国产观看 | 亚洲图片 自拍偷拍 | 国产精品成人麻豆专区 | 91精品国产麻豆国产自产在线 | 污黄漫| 娇妻与公陈峰姚瑶小说在线阅读 | 国产精品一区二区三区免费视频 | poronovideos极度变态| 三级理论在线播放大全 | 99久久精品国产一区二区 | 国内精品免费一区二区三区 | 火影小南被爆羞羞网站 | 欧美国产影院 | 午夜人妻理论片天堂影院 | 青青青国产在线观看 | 午夜在线观看免费观看 视频 | 亚洲日日操 | 2019中文字幕在线视频 | 亚洲女bbwxxxx另类 | 白丝憋尿 | 小SAO货边洗澡边CAO你动漫 | 亚洲AV午夜福利精品香蕉麻豆 | h高潮娇喘抽搐 | 日韩高清一区 | 91真人毛片一级在线播放 |