此方法為極簡配置,支持MySQL數(shù)據(jù)庫多庫連接、支持Hikari連接池、支持MyBatis(包括Dao類和xml文件位置的配置)。
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計,益陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:益陽等地區(qū)。益陽做網(wǎng)站價格咨詢:18982081108
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中的相關(guān)配置:
spring: profiles: active: dev datasource: driver-class-name: com.mysql.jdbc.Driver username: root password: 123456 hikari: maxLifetime: 1765000 #一個連接的生命時長(毫秒),超時而且沒被使用則被釋放(retired),缺省:30分鐘,建議設(shè)置比數(shù)據(jù)庫超時時長少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/ --- # 測試環(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,這樣就可以支持多個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目錄下創(chuàng)建mapper目錄,然后創(chuàng)建xml文件如下:
<?xml version="1.0" encoding="UTF-8" ?>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("八")); }
總結(jié)
以上所述是小編給大家介紹的spring boot配置MySQL數(shù)據(jù)庫連接、Hikari連接池和Mybatis的簡單配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!