此方法为极简配置,支持MySQLhtml" target="_blank">数据库多库连接、支持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就会寻找是否有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文件如下:
<?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、测试:
@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的简单配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
由于基于HTTP协议的Web程序是无状态的,因此,在应用程序中使用JDBC时,每次处理客户端请求时都会重新建立数据库连接。如果客户端的请求非常频繁,服务端在处理数据库时将会消耗非常多的资源。因此,在Tomcat中提供了数据库连接池技术。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个数据库连接。在使用完一个数据库连接后,将其归还数据库连接池
我使用的是用Spring配置的mybatis。一切都很好,但是在这种配置下没有连接池。每次我执行一些SQL语句,它都会创建一个新的连接。有什么简单的方法可以用mybatis+Spring配置连接池吗?
这个问题是在前面的问题(使用JDBC实现迭代器设计模式)之后形成的。 我理解连池的基本概念,但仅此而已。我的应用程序需要一个数据库,由于实现迭代器模式的要求,我相信数据库需要经常打开和关闭。因此,需要一个连接池来防止严重的应用程序延迟。最好(从我的理解来看,这是一个很好的做法)我希望池在应用程序启动时打开,关闭时关闭。 我研究了许多连接池库,如BoneCP、DBPool、C3P0和Proxool。
//默认Mysql数据库 'default_mysql_config' => 'mysql', //Mysql数据库配置 'mysql' => array( 'host' => 'localhost', 'port' => '3306', 'username' => 'root', 'password' => '', 'db_name' => 'g-framework', 'db_prefi
我有一个使用jHipster创建的Spring Boot应用程序,我正在尝试运行一些集成测试用例,我已经使用以下注释配置了测试用例类: 但我还是得到了上面提到的例外。堆栈跟踪如下所示:
本文向大家介绍web.config中配置数据库连接的方式,包括了web.config中配置数据库连接的方式的使用技巧和注意事项,需要的朋友参考一下 在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是在web.config中配置数据库连接代码,然后在程序中调用数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只要修改web.config中的数据库连接代码即可,而