SpringBoot底层统一采用SpringData处理数据库,这一章主要来讲一下SpringBoot整合jdbc、durid、mybatis的方式。

(一)整合jdbc

整合jdbc主要有三步:
1.引入依赖
2.配置数据源
3.访问
引入springdata启动器和mysql连接包

<dependency>    <groupId>org.springframework.bootgroupId>    <artifactId>spring-boot-starter-jdbcartifactId>dependency><dependency>    <groupId>mysqlgroupId>    <artifactId>mysql-connector-javaartifactId>    <scope>runtimescope>dependency>

在application.yaml或者application.properties中配置spring datasource数据源。在新版本的spring-boot-starter-jdbc,mysql驱动由原先的com.mysql.jdbc.Driver变为了com.mysql.cj.jdbc.Driver

spring:  datasource:    url: jdbc:mysql://localhost:3306/testsql?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8    username: root    password: 123456    driver-class-name: com.mysql.cj.jdbc.Driver

通过jdbc模板访问

@RestControllerpublic class JdbcController {    @Autowired    private JdbcTemplate jdbcTemplate;    @GetMapping("/jdbc")    public ListString, Object>> query(){        String sql="select * from user";        ListString, Object>> maps = jdbcTemplate.queryForList(sql);        return maps;    }}

(二)整合druid

druid是阿里巴巴公司开发的数据库连接池,它的官网称Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
druid的使用首先也是引入依赖

<dependency>    <groupId>com.alibabagroupId>    <artifactId>druidartifactId>    <version>1.1.23version>dependency>

com.alibaba.druid.pool.DruidDataSource 基本配置参数如下:
Spring Boot 2.0 以上默认使用 com.zaxxer.hikari.HikariDataSource 数据源,但可以通过 spring.datasource.type 指定数据源。我们将type修改为druid。

设置完数据源后,就可以设置数据源连接初始化大小、最大连接数、等待时间、最小连接数 等设置项

spring:  datasource:    url: jdbc:mysql://localhost:3306/myssh?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8    username: root    password: 123456    driver-class-name: com.mysql.cj.jdbc.Driver    type: com.alibaba.druid.pool.DruidDataSource    #连接池属性    #Spring Boot 默认是不注入这些属性值的,需要自己绑定    #druid 数据源专有配置    initialSize: 5    minIdle: 5    maxActive: 20    maxWait: 60000    timeBetweenEvictionRunsMillis: 60000    minEvictableIdleTimeMillis: 300000    validationQuery: SELECT 1 FROM DUAL    testWhileIdle: true    testOnBorrow: false    testOnReturn: false    poolPreparedStatements: true    #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入    #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority    #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j    filters: stat,wall,log4j    maxPoolPreparedStatementPerConnectionSize: 20    useGlobalDataSourceStat: true    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

因为在配置文件中使用了log4j,因此我们也需要引入log4j的依赖。

最后编写配置类,ConfigurationProperties注解大家都很熟悉了,从配置文件的spring.datasource下读取配置。statViewServlet方法配置后台监控功能,主要设置ip黑白名单,用户名密码等。statFilter用于配置过滤器等消息。

@Configurationpublic class DruidConfig {    @ConfigurationProperties("spring.datasource")    @Bean    public DataSource druidDataSource(){        return new DruidDataSource();    }    //后台监控    //因为SpringBoot内置了servlet容器,所以没有web.xml,替代方法:ServletRegisterationBean    @Bean    public ServletRegistrationBean statViewServlet(){        //创建servlet注册实体        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");        //设置ip白名单        servletRegistrationBean.addInitParameter("allow","127.0.0.1");        //设置ip黑名单,如果allow与deny共同存在时,deny优先于allow        servletRegistrationBean.addInitParameter("deny","192.168.0.19");        //设置控制台管理用户        servletRegistrationBean.addInitParameter("loginUsername","druid");        servletRegistrationBean.addInitParameter("loginPassword","123456");        //是否可以重置数据        servletRegistrationBean.addInitParameter("resetEnable","false");        return servletRegistrationBean;    }    @Bean    public FilterRegistrationBean statFilter(){        //创建过滤器        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());        //设置过滤器过滤路径        filterRegistrationBean.addUrlPatterns("/*");        //忽略过滤的形式        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");        return filterRegistrationBean;    }}

最后输入http://localhost:8080/druid/login.html进入登陆页面
进入主页后可以看到druid所提供的强大功能。关于druid更多的内容可以从https://github.com/alibaba/druid获取

(三)整合Mybatis

在项目中基本上不会使用jdbc直接连接数据库,对数据库的操作往往会通过一些持久层的框架,下面来讲讲Mybatis的整合,Mybatis的整合分为以下几步:
1.导入包
2.配置文件
3.mybatis配置
4.编写sql
5.调用
整合包 mybatis-spring-boot-starter

<dependency>    <groupId>org.mybatis.spring.bootgroupId>    <artifactId>mybatis-spring-boot-starterartifactId>    <version>2.1.3version>dependency>

配置mybatis,这里主要配置了type-aliases-package和mapper-locations

spring:  datasource:    url: jdbc:mysql://localhost:3306/myssh?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8    username: root    password: 123456    driver-class-name: com.mysql.cj.jdbc.Drivermybatis:  type-aliases-package: com.javayz.springbootdemo.pojo  mapper-locations: classpath:mybatis/mapper/*.xml

编写Mapper接口,到这里都属于Mybatis的基础操作,就不做介绍了

@Mapper@Repositorypublic interface UserSelectMapper {    ListqueryUserList();}

mapper.xml配置文件编写sql语句

<?xml version="1.0" encoding="UTF-8"?>/span>        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.javayz.springbootdemo.mapper.UserSelectMapper">    <select id="queryUserList" resultType="User">        select * from user    select>mapper>

(四)总结

在这篇文章中我主要介绍了SpringBoot中jdbc、durid、mybatis的整合,SpringBoot的整合步骤基本都一致,引入依赖、配置文件、调用。

springboot 引入jdbc驱动_SpringBoot整合jdbc、durid、mybatis详解,数据库的连接就是这么简单...相关推荐

  1. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  2. SpringBoot整合Log4j2以及配置详解

    文章目录 标题SpringBoot整合Log4j2以及配置详解 1.加入依赖 2.在src.java.main.resources目录下创建log4j2.xml文件 log4j2.xml文件内容如下: ...

  3. 三大框架题目整合考试题(含详解)

    三大框架题目整合考试题(含详解) 1.在Hibernate的关联关系映射配置中,下列选项对于inverse说法错误的是(bd). (选择二项) A. inverse属性指定了关联关系中的方向 //in ...

  4. 《策略驱动型数据中心——ACI技术详解》一1.3 数据中心设计

    本节书摘来自异步社区<策略驱动型数据中心--ACI技术详解>一书中的第1章,第1.3节,作者[美]Lucien Avramov [意]Maurizio Portolani,更多章节内容可以 ...

  5. 《策略驱动型数据中心——ACI技术详解》——1.3 数据中心设计

    本节书摘来自异步社区<策略驱动型数据中心--ACI技术详解>一书中的第1章,第1.3节,作者: [美]Lucien Avramov [意]Maurizio Portolani 更多章节内容 ...

  6. SpringBoot多环境(dev、test、prod)配置详解

    SpringBoot多环境(dev.test.prod)配置详解 我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发.测试.生产等.其中每个环境的数据库地址.服务器端口等配 ...

  7. springboot 引入jdbc驱动_SpringBoot+MyBatis+Druid整合demo

    最近自己写了一个SpringBoot+Mybatis(generator)+druid的demo 1. mybatis+generator逆向工程生成代码 1. pom文件 pom文件添加如下内容,引 ...

  8. 引入MySQL驱动包进行JDBC编程

    文章目录 1.什么是JDBC 2.创建JDBC项目的步骤-MySQL版本 1.什么是JDBC 每个数据库都会提供一组API来支持程序员实现自己客户端,自己根据需求来完成一些具体的增删查改的功能.但数据 ...

  9. springboot数据源不正确_SpringBoot整合多数据源的巨坑!!!

    导读 本篇文章接上篇SpringBoot整合多数据源,你会了吗?,前面文章最后留了几个问题供大家思考,今天一一揭晓. 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionM ...

最新文章

  1. SSH没有password安全日志
  2. 如何创建文件并用Java写入文件?
  3. Linux 热插拔(Hot Plug)处理机制系列
  4. linux用户层驱动--VFIO(五)
  5. Programming Computer Vision with Python (学习笔记十)
  6. LeetCode 74. 搜索二维矩阵(二分查找)
  7. (30)Verilog HDL系统函数:$stop
  8. Mac串口工具picocom
  9. some blogs for xna 3d game for windows phone!
  10. 面向对象17:抽象类和抽象方法、创建抽象类的匿名子类对象、模板方法设计模式
  11. c#进度条刻度_自定义滑动刻度进度条
  12. Mask R-CNN算法详解
  13. “几何深度学习”受爱因斯坦启示:让AI摆脱平面看到更高的维度!
  14. android-listview 优化 viewHolder(节点缓存池)
  15. paypal开发整理(7)—Get Start
  16. 基于华为java编程规范的checkstyle.xml以及格式化模版,注释模版
  17. cobbler(一) cobbler实现系统自动安装
  18. 【总结】美团之推荐系统
  19. 香草冰淇淋和代码调试
  20. 手写简易版链表及原理分析

热门文章

  1. etcd 日志压缩_etcd集群备份和数据恢复以及优化运维
  2. 致物理学家的一个实验
  3. 图像篡改检测pytorch版本
  4. 2019/5/12 查漏补缺
  5. SQL Server中如何识别、查找未使用的索引(unused indexes)
  6. template模板的使用方法
  7. 一、Linux Shell基础
  8. 11g RMAN Restore archivelog用法
  9. Python两个内置函数——locals 和globals
  10. 转载模板声明中template typename T和template class T