spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法
此方法为极简配置,支持MySQL数据库多库连接、支持Hikari连接池、支持MyBatis(包括Dao类和xml文件位置的配置)。
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中的相关配置:
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接口代码:
packagecom.xjj.dao; importorg.apache.ibatis.annotations.Mapper; importorg.apache.ibatis.annotations.Select; importcom.xjj.entity.Person; @Mapper publicinterfacePersonDAO{ @Select("SELECTid,first_nameASfirstName,last_nameASlastName,birth_dateASbirthDate,sex,phone_noASphoneNo" +"FROMtest.t_personWHEREid=#{0};") publicPersongetPersonById(intid); publicintinsertPerson(Personperson); publicintupdatePersonById(Personperson); publicintupdatePersonByPhoneNo(Personperson); }
只需要用@Mapper注解,就可以支持被Mybatis找到,并支持在方法上面写SQL语句。
4、XML文件:
在resources目录下创建mapper目录,然后创建xml文件如下:
INSERTINTOtest.t_person(first_name,last_name,birth_date,sex,phone_no,update_dt) VALUES(#{firstName},#{lastName},#{birthDate},#{sex},#{phoneNo},NOW()) UPDATEtest.t_personSET first_name=#{firstName},last_name=#{lastName},birth_date=#{birthDate},sex=#{sex},phone_no=#{phoneNo} WHEREid=#{id} UPDATEtest.t_personSET first_name=#{firstName},last_name=#{lastName},birth_date=#{birthDate},sex=#{sex} WHEREphone_no=#{phoneNo}
5、测试:
@Test publicvoiddbTest()throwsJsonProcessingException{ Personperson2=personDAO.getPersonById(2); logger.info("personno2is:{}",objectMapper.writeValueAsString(person2)); person2.setFirstName("八"); personDAO.updatePersonById(person2); person2=personDAO.getPersonById(2); logger.info("personno2afterupdateis:{}",objectMapper.writeValueAsString(person2)); assertThat(person2.getFirstName(),equalTo("八")); }
总结
以上所述是小编给大家介绍的springboot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。