SpringBoot整合Mybatis+Druid

1.SpringBoot 作为一款约定大于配置的微服务框架,得到了业界的大量推广和应用。对SpringBoot的学习使用可以有效的帮助开发简化开发流程,配置过程,部署过程。

2.数据库的交互是开发过程中很常见的一种业务,数据层的接入方式众多,JDBC,Spring JdbcTemplate,Hibernate,Mybatis等等。传统的JDBC因为模板代码众多,侵入式的事物操作极容易出现问题。老牌的Hibernate从对象的角度去看待数据库,从而在对象层面完全封装数据库操作,简化开发代码,提升开发效率。但也随之带来了定制化SQL使用困难,业务逻辑模型与数据库模型耦合度高,数据量大时性能损耗严重等一系列问题,导致大型互联网项目往往对其避之不及。而MyBatis作为一款轻量级、半自动化的ORM框架脱颖而出。SQL与代码的分离便于维护管理,逻辑标签控制SQL的拼接实现动态SQL,查询结果集与Java对象自动映射,可以编写原生SQL,方便SQL优化等优点让更多的开发选择它。

3.alibaba发布的Druid,号称JAVA语言中最好的数据库连接池,提供强大的监控和扩展功能,进一步提升开发人员的SQL优化效率。与其他数据库连接池的对比:

纸上得来终觉浅,绝知此事要躬行。为了加深对以框架的理解运用,我将以上框架做一次整合运用。技术栈Spring, Spring Boot,Mybatis,Druid,Log4j2, Maven

 搭 建 步 骤 

第一步:Spring Boot的项目构建

采用maven项目管理工具,目录结构如下:

第二步:添加依赖

Spring Boot官方文档中解释,在启用spring-boot-starter后会默认使用logback作为日志框架,本项目选用log4j2,因此需要全局exclude掉Spring Boot默认日志。

很多教学在spring-boot-starter-web处exclude,这种做法是错误的,会导致Spring Boot启动时发现多个SLF4J bingdings。

Mybatis for Spring Boot 依赖。

数据库驱动与数据库连接池依赖。

日志依赖

第三步:启动组件扫描

选用Java注解+自动注入的方式配置Spring Bean,需要开启对特定包的组件扫描。

第四步:配置数据源

使用Spring Boot整合Druid的方式,通过@ConfigurationProperties来做属性注入。Spring的事物管理配置非常方便,事物管理配置数据源即可。

同时在yml文件中添加数据源配置。StatviewConfig开启后可使用druid内置监控。

第五步:配置Mybatis

配置mybatis的SqlSessionFactory。添加MapperScan标签的同时指定sqlSessionFactiory的引用。

Mybatis的Mapper只能用接口定义,默认情况下需要在mapper interface上添加@Mapper标签。

第六步:测试

创建Usr对象并在数据库创建表结构。通过SpringMVC发起对UserService的调用,查询数据库中的user记录。最后查看监控和日志。

首先我们通过POSTMAN发起GET请求:

接着查看Druid内置监。URL: http://localhost:8080/druid/index.html,可以发现Druid Monitor已经帮助我们记录了本次调用的SQL,防火墙统计信息,URL监控等数据。

最后查看控制台输出MyBatis的SQL日志

猜你喜欢

转载自blog.csdn.net/weixin_39643007/article/details/81989557