mybatis 配置 mysql连接池_spring 5.x 系列第5篇 —— 整合 mybatis + druid 连接池 (xml配置方式)...
项目目录结构
1. 导入依赖
创建 maven 工程,除了 Spring 的基本依赖外,还需要导入 Mybatis 和 Druid 的相关依赖:
org.springframeworkgroupId>
spring-jdbcartifactId>
${spring-base-version}version>
dependency>
mysqlgroupId>
mysql-connector-javaartifactId>
8.0.13version>
dependency>
com.oraclegroupId>
ojdbc6artifactId>
11.2.0.3.0version>
dependency>
org.mybatisgroupId>
mybatis-springartifactId>
1.3.2version>
dependency>
org.mybatisgroupId>
mybatisartifactId>
3.4.6version>
dependency>
com.alibabagroupId>
druidartifactId>
1.1.12version>
dependency>
2. web.xml 配置
在 web.xml 中配置 Spring 的前端控制器以及 Druid 的 Web 监控台,用于获取数据库的相关监控信息:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
springMvcservlet-name>
org.springframework.web.servlet.DispatcherServletservlet-class>
contextConfigLocationparam-name>
classpath:springApplication.xmlparam-value>
init-param>
1load-on-startup>
servlet>
springMvcservlet-name>
/url-pattern>
servlet-mapping>
DruidStatViewservlet-name>
com.alibaba.druid.support.http.StatViewServletservlet-class>
resetEnableparam-name>
trueparam-value>
init-param>
loginUsernameparam-name>
druidparam-value>
init-param>
loginPasswordparam-name>
druidparam-value>
init-param>
servlet>
DruidStatViewservlet-name>
/druid/*url-pattern>
servlet-mapping>
DruidWebStatFilterfilter-name>
com.alibaba.druid.support.http.WebStatFilterfilter-class>
exclusionsparam-name>
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*param-value>
init-param>
filter>
DruidWebStatFilterfilter-name>
/*url-pattern>
filter-mapping>
web-app>
3. 数据库配置
在 resources 文件夹下新建数据库配置文件 jdbc.properties:
# mysql 数据库配置
mysql.url=jdbc:mysql://localhost:3306/mysql
mysql.username=root
mysql.password=root
# oracle 数据库配置
oracle.url=jdbc:oracle:thin:@//IP 地址:端口号/数据库实例名
oracle.username=用户名
oracle.password=密码
4. Druid 连接池配置
在 resources 文件夹下创建 springApplication.xml 配置文件和 druid.xml 配置文件:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
bean>
bean>
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
bean>
beans>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
bean>
beans>
5. MyBatis 配置
新建 mybtais 配置文件,按照需求配置额外参数, 更多 settings 配置项可以参考 官方文档
settings>
configuration>
6. 数据查询
新建查询接口及其实现类,以下示例分别查询的是 MySQL 和 Oracle 中的字典表:
public interface MysqlDao {
List get();
}
SELECT help_keyword_id AS id,name
FROM HELP_KEYWORD
WHERE HELP_KEYWORD_ID = #{id}
select>
mapper>
public interface OracleDao {
ListqueryById(long id);
}
select * from APEX_030200.WWV_FLOW_CALS where ID = #{id}
select>
mapper>
7. 测试查询
新建测试类进行测试:
@RestController
public class MysqlController {
@Autowired
private MysqlDao mysqlDao;
@GetMapping("relation/{id}")
public String get(@PathVariable(name = "id") String id) {
return mysqlDao.queryById(id).get(0).toString();
}
}
@RestController
public class OracleController {
@Autowired
private OracleDao oracleDao;
@GetMapping("flow/{id}")
public String get(@PathVariable(name = "id") Long id) {
return oracleDao.queryById(id).get(0).toString();
}
}
8. Druid 监控台
Druid Web 页面访问地址为:http://localhost:8080/druid/index.html ,可以登录后查看数据库相关监控数据:
源码GitHub地址:https://github.com/heibaiying/spring-samples-for-all
mybatis 配置 mysql连接池_spring 5.x 系列第5篇 —— 整合 mybatis + druid 连接池 (xml配置方式)...相关推荐
- springmvc系列第2篇:整合mybatis
文章目录 前言 一.springmvc和mybatis整合思路 1.整合持久层Dao 2.整合业务层Service 3.整合表现层springmvc 二.参数绑定 1.RequestMapping注解 ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...
- mybatis获取mysql源数据类型_spring集成mybatis实现mysql数据库读写分离
前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈.幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上. ...
- spring boot socket长连接_springboot 整合阿里 druid 数据库连接池实战
情景 web 开发中连接数据库基本是必须的,阿里的 druid 是一款非常优秀的开源数据库连接池工具. 本文将介绍一下如何使用 springboot 整合 druid 数据源. 快速开始 maven ...
- mybatis依赖_Spring Boot2 系列教程(二十一)整合 MyBatis
前面两篇文章和读者聊了 Spring Boot 中最简单的数据持久化方案 JdbcTemplate,JdbcTemplate 虽然简单,但是用的并不多,因为它没有 MyBatis 方便,在 Sprin ...
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...
- spring配置mysql事务管理_Spring 数据库事务管理机制
要点1 Spring事务管理方法编程式事务(TransactionTemplate.PlatformTransactionManager) 声明式事务(配置式.注解式) 2 Spring 注解 @Tr ...
- SpringBoot系列课程(二)-SpringBoot整合MyBatis
1.SpringBoot和MyBatis整合 1.2. 准备数据 SET FOREIGN_KEY_CHECKS=0;-- ---------------------------- -- Table s ...
- SpringBoot 精通系列-如何优雅地使用Mybatis的XML配置
导语 首先Mybatis作为如今最为流行的ORM框架之一,那么首先需要了解的就是什么是ORM框架. 文章目录 ORM框架 为什么需要ORM这种技术呢? Mybatis简介 Mybatis的几个重要 ...
最新文章
- 河北高速盘点七大假牌假证违法案例:寒冬穿大裤衩开车
- 关于重构之Switch的处理【一】如果是有序的话,如何处理
- 【版本工具】SVN-E155036 Working copy ... is too old Please see the ‘svn upgrade‘ command
- 程序员-真实学习之路
- 如何在ASP.NET服务器控件库中嵌入JavaScript脚本文件 [适用于.NET 2.0]
- 中科燕园arcgis外包----排水管网地理信息系统
- mybatis plus 事务管理器_SpringBoot第七篇:springboot开启声明式事务
- mysql数据库表字段使用DESC等关键字报错及解决方法
- 2018 蓝桥杯省赛 B 组模拟赛(五)题 B题
- 分享一款在线less转css的神器
- 阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
- 2019年三峡大学计算机考研名单,三峡大学2019硕士研究生复试录取方案
- Hexo Theme NexT 主题个性化配置最佳实践
- 某知名大学学生毕业设计, Java学好了就是厉害
- TeamViewer——一款强大的远程控制工具
- OSChina 周三乱弹 —— 念念不忘,必有回响
- KCNScrew for Mac(mac序列号工具)
- 2022年12月蓝桥STEMA评测C++中级组编程题
- 北京金普蝶:让客户满意就是最好的营销!
- Vue经典实例之走马灯
热门文章
- nginx 配置 http/2(h2) 和 http 在同一端口的问题
- jqgrid删除某一列(隐藏)
- Mysql循环查询结果并设置排序编号
- Java JVM 汇编代码入门 GitChat链接
- mysql数据库的注释语句是_coding++ :MySQL 使用 SQL 语句查询数据库所有表注释已经表字段注释...
- mybatis 中针对指定区间内的时间的查询
- android页面布局更改,使用setContentView的方式更换布局文件从而更换界面
- 【剑指offer - C++/Java】6、旋转数组的最小数字
- 【C++深度剖析教程18】逗号操作符的分析
- [Objective-C语言教程]动态绑定(32)