欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年03月08日 11:58:54   作者:Clement-Xu  
這篇文章主要介紹了spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法,需要的朋友可以參考下

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

1、pom.xml中引入依賴:

<!-- 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)配置:

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接口代碼:

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文件如下:

<?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è)試:

@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ǎng)站的支持!

相關(guān)文章

  • 初識(shí)Java環(huán)境變量配置及IDEA

    初識(shí)Java環(huán)境變量配置及IDEA

    這篇文章主要介紹了Java環(huán)境變量配置及IDEA,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java中四種訪問(wèn)控制權(quán)限解析(private、default、protected、public)

    Java中四種訪問(wèn)控制權(quán)限解析(private、default、protected、public)

    java當(dāng)中有4種訪問(wèn)修飾限定符privat、default(默認(rèn)訪問(wèn)權(quán)限),protected以及public,本文就詳細(xì)的介紹一下這四種方法的具體使用,感興趣的可以了解一下
    2023-05-05
  • JAVA用遞歸實(shí)現(xiàn)全排列算法的示例代碼

    JAVA用遞歸實(shí)現(xiàn)全排列算法的示例代碼

    這篇文章主要介紹了JAVA用遞歸實(shí)現(xiàn)全排列算法的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot中定時(shí)任務(wù)的使用方法解析

    SpringBoot中定時(shí)任務(wù)的使用方法解析

    這篇文章主要介紹了SpringBoot中定時(shí)任務(wù)的使用方法解析,@EnableScheduling?注解,它的作用是發(fā)現(xiàn)注解?@Scheduled的任務(wù)并由后臺(tái)執(zhí)行,沒(méi)有它的話將無(wú)法執(zhí)行定時(shí)任務(wù),需要的朋友可以參考下
    2024-01-01
  • java壓縮多個(gè)文件并且返回流示例

    java壓縮多個(gè)文件并且返回流示例

    這篇文章主要介紹了java壓縮多個(gè)文件并且返回流示例,返回壓縮流主是為了在程序里再做其它操作,需要的朋友可以參考下
    2014-03-03
  • SpringCloud Ribbon負(fù)載均衡代碼實(shí)例

    SpringCloud Ribbon負(fù)載均衡代碼實(shí)例

    這篇文章主要介紹了SpringCloud Ribbon負(fù)載均衡代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • MyBatis-Plus如何解決主鍵自增問(wèn)題

    MyBatis-Plus如何解決主鍵自增問(wèn)題

    這篇文章主要介紹了MyBatis-Plus如何解決主鍵自增問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 深入Java線程中斷的本質(zhì)與編程原則的概述

    深入Java線程中斷的本質(zhì)與編程原則的概述

    本篇文章對(duì)Java線程中斷的本質(zhì)與編程原則進(jìn)行了詳細(xì)的概述,需要的朋友參考下
    2013-05-05
  • idea gradle項(xiàng)目復(fù)制依賴小技巧(推薦)

    idea gradle項(xiàng)目復(fù)制依賴小技巧(推薦)

    這篇文章主要介紹了idea gradle項(xiàng)目復(fù)制依賴小技巧,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java中BigDecimal比較大小的3種方法(??compareTo()、??equals()??和??compareTo()??)

    Java中BigDecimal比較大小的3種方法(??compareTo()、??equals()??和??compar

    這篇文章主要給大家介紹了關(guān)于Java中BigDecimal比較大小的3種方法,方法分別是??compareTo()、??equals()??和??compareTo()??,在Java中使用BigDecimal類來(lái)進(jìn)行精確的數(shù)值計(jì)算,需要的朋友可以參考下
    2023-11-11

最新評(píng)論