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

如果需要更灵活的自定义配置(比如支持分页插件),请参考:http://blog.csdn.net/clementad/article/details/51776151

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就会寻找是否有HikariCP可用,第二个依赖就被找到了,然后mysql-connector也有了。

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

spring:profiles:active: devdatasource:driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: 123456hikari:maxLifetime: 1765000 #一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒以上maximumPoolSize: 15 #连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)
mybatis:mapperLocations: classpath:mapper/*.xml---
# 开发环境配置
spring:profiles: devdatasource:url: jdbc:mysql://localhost:3306/---
# 测试环境配置
spring:profiles: testdatasource:url: jdbc:mysql://192.168.0.12:3306/---
# 生产环境配置
spring:profiles: proddatasource: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文件如下:

<?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"><!-- 插入数据库用户表 --><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、测试:

 @Testpublic 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的简单方法相关推荐

  1. Spring Boot中使用MongoDB的连接池配置

    因为今天开发遇到了性能问题,可能与MongoDB的连接有关,所以稍稍深入看了一下,正好搜到原来有人写过这篇相关的内容,所以转载过来.回头有时间可以写个扩展到SpringForAll里,主体思路还是一样 ...

  2. spring boot配置mysql

    spring boot通过简单的配置就可以连接mysql,并且可以创建默认的连接池HikariDataSource,下面我们来看一看如何配置mysql 添加maven依赖,代码如下 <!-- m ...

  3. Spring Boot 配置 MySQL 数据库

    一.导入 Maven 依赖 <!--MySQL jdbc 驱动--> <dependency><groupId>mysql</groupId><a ...

  4. Spring Boot配置Mysql后无法根据java实体类生成table

    https://www.imooc.com/qadetail/193270?t=292816 检查了两天,没找到问题.原因为实体类必须在主程序application的同名包或者子包下面,启动时才会扫描 ...

  5. mysql jdbc配置重连_Spring Boot 配置MySQL数据库重连的操作方法

    使用jdbc连接MySQL,如果连接失效,可能会报类似的错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last pa ...

  6. Spring Boot配置属性(567个,丁雪峰 译 《Spring Boot 实战》 附录)

    flyway flyway.baseline 执行基线时标记已有Schema的描述 flyway.baseline-on-migrate 在没有元数据表的情况下,针对非空 Schema执行迁移时是否自 ...

  7. Spring Boot 青睐的数据库连接池HikariCP为什么是史上最快的?

    前言 现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及. 下面陈某带大家从 ...

  8. 微服务架构师封神之路09-Springboot多数据源,Hikari连接池和事务配置

    微服务架构师封神之路09-Springboot多数据源,Hikari连接池,和事务的配置 application.yml 初始化DataSource DataSourceConfig的两种写法 写法一 ...

  9. Hikari连接池配置详解

    Hikari连接池配置详解 ## 数据库配置 spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.d ...

最新文章

  1. 快速开发生命周期支持工具
  2. 人群密度估计--Fully Convolutional Crowd Counting On Highly Congested Scenes
  3. 从源码分析DEARGUI之菜单
  4. python爬取图片-Python爬取网页中的图片(搜狗图片)详解
  5. 【2019-07-17】和谐,源于用了点心
  6. 重磅嘉宾公布,第四范式AI新品发布会进入报名倒计时
  7. linux内核高分辨率定时器,64位Linux上的高分辨率定时器支持
  8. mysql中计算问题_MYSQL 数学运算符问题
  9. 利用C#进行Socket通信编程之二:一个实例
  10. windows下mongodb安装与使用整理
  11. c语言出圈游戏课设报告,c语言作业 出圈游戏
  12. PyTorch实战福利从入门到精通之八——深度卷积神经网络(AlexNet)
  13. 【备忘】Windows的命令行下设置网络代理
  14. z-blog+php+漏洞,Z-Blog的PHP版前台存储型XSS漏洞一
  15. 1106 Lowest Price in Supply Chain (25 分) 静态树vector+DFS
  16. android nanohttp,在Android中使用NanoHTTPD
  17. 数据智能,慧眼识“真”——个推大数据风控产品亮相
  18. iOS NSLayoutConstraint priority
  19. favos-demo代码解读
  20. vue 屏幕自适应及全屏放大缩小

热门文章

  1. 2009-04-17读书记录:《Servlet与JSP核心编程》第七章——HTTP响应报头
  2. Visual Studio 2010制作程序安装包
  3. rtp负载mp3音频
  4. 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化
  5. 对于\n冲刷缓冲区,对Linux中fork()函数的理解
  6. 微软teams软件_如何在Microsoft Teams中创建快速投票
  7. “脑残”是一种聪明绝顶
  8. 轻松筹php模板,身边有人筹了20万我也想筹,但不知道轻松筹发朋友圈怎么写,怎么写感人模板...
  9. 软件工程之软件工程管理,软件项目管理(甘特图、时标网络图TSN,COMOMO模型)
  10. NLP Spacy中en_core_web_sm安装问题(附最新下载地址)