SpringBoot学习(四)-整合JDBC、Druid、MyBatis

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!

一、整合JDBC使用(理解)

在这里插入图片描述

创建项目
在这里插入图片描述
在这里插入图片描述

勾选依赖启动器
在这里插入图片描述

查看依赖
在这里插入图片描述

1、配置连接数据库的信息

  • 选择数据库
    在这里插入图片描述

  • 挑选mysql版本

在这里插入图片描述

2、调试数据源

  • 测试数据源
    在这里插入图片描述

  • 获得数据库的连接,查看连接

在这里插入图片描述

  • 修改时区,否则会出现版本报错
  • 假如时区报错,增加一个时区配置就ok了:serverTimezone=UTC

在这里插入图片描述

可以运行看看,有没报错

3、查看源码,理解底层配置信息

在这里插入图片描述
在这里插入图片描述

  • 套路:有properties,就会有某某AutoCofiguration

在这里插入图片描述

  • 要进去java文件里面看,而不是进类里面看

在这里插入图片描述

4、springboot已经配置好许多模板bean,拿来即用 CRUD

在这里插入图片描述

  • 看jar包

在这里插入图片描述

在这里插入图片描述

  • 使用jdbcTemplate模板,需要的配置信息

在这里插入图片描述

  • 导入springboot-web依赖

在这里插入图片描述

  • 点进去看一下JDBCTemplate的方法

在这里插入图片描述

  • 点开结构看一下

在这里插入图片描述

1)测试数据库的操作
①查询数据库信息

在这里插入图片描述

  • 注:只是修改数据库,不需要重启项目,数据库才是最重要的

在这里插入图片描述

②增加数据库信息

在增加信息的时候,jdbc可以直接写sql,不需要传值

在这里插入图片描述

springboot已经把很多操作封装成jdbcTemplate了,很多步骤可以省略了

③更新数据库消息

在这里插入图片描述

点进去看一下update

在这里插入图片描述

在这里插入图片描述

  • 方法1:直接在sql语句上写数据
  • 方法2:原生的jdbc执行sql语句和传递参数的方法,来写数据

在这里插入图片描述

④删除数据库信息

在这里插入图片描述

效果:链改接参数就可以了

在这里插入图片描述

再查看一下源码:
查看下内置导入的包

在这里插入图片描述

去配置文件修改即可在这里插入图片描述

自定义配置的要求:

在这里插入图片描述

  • spring.datasource.type=???

二、整合Druid数据源

1、了解数据源

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • d导入依赖Druid数据源,用最新的,报错再降级
  • 看源码,提升快
  • 看别人的包,理解一下,看看需要配什么等等
  • filter:用来监控的
    在这里插入图片描述

2、更改数据源

在这里插入图片描述

  • 测试:

在这里插入图片描述

3、添加Druid的默认配置

在这里插入图片描述

  • 在博客中找找

1)导入log4j依赖

在这里插入图片描述

4、测试Druid数据源下的配置功能

  • @Configuration==相当于以前的bean.xml中的配置,现在都简化了

1)实现application.yaml与DruidConfig绑定在一起

  • 将DruidConfig绑定在一个bean上,跟配置文件一起,就能绑上了

  • 如果想使用一些私有化属性,如果不配置的话,私有化属性不会生效

  • 在这里插入图片描述
    在这里插入图片描述

  • 将druidDataSource加入到容器当中,就不需要springboot帮我们加到容器中了

2)后台监控

①配置后台监控

后台监控页面都写好了,直接拿来用就好

在这里插入图片描述

在这里插入图片描述

  • 后台监控这个ServeletRegistrationBean的方法,了解方法

    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 设置初始化参数setInitParameters()

在这里插入图片描述

  • 看源码,需要什么,给什么

在这里插入图片描述

②添加具体配置

在这里插入图片描述

在这里插入图片描述

③访问后台监控

在这里插入图片描述

在这里插入图片描述

测试一下sql:

在这里插入图片描述

在这里插入图片描述

④小结:想注册什么,new就完事了

在这里插入图片描述

⑤注册过滤请求的

在这里插入图片描述

加入最重要的东西

在这里插入图片描述

三、整合mybatis

1、准备工作

1)创建新项目

在这里插入图片描述

2)勾选依赖

  • JDBC API
  • Spring Web
  • MySQL driver

在这里插入图片描述

3)浏览官方文档

4)导入依赖

在这里插入图片描述

5)配置全局配置文件

在这里插入图片描述

6)测试连接效果

在这里插入图片描述

在这里插入图片描述

2、使用mybatis连接MySQL

1)连接上mybatis

在这里插入图片描述

2)构造实体类

在这里插入图片描述

在这里插入图片描述

构造mapper接口类(mapper层=dao层)

  • 扫描接口下的包的方式

第一种接口扫描包的方式:直接在包的类名上扫描,加个@Mapper

在这里插入图片描述

第二种方式:在启动类里启动扫描具体的包名

在这里插入图片描述

在这里插入图片描述

  • 之前的spring里面,接口map或者dao都会有对应的mapper.xml文件在同一个文件夹里面
  • 现在,统一在resource里创建mapper,在里面创建.xml文件(写在resource里面,就不能用class来访问了,不能将注解和class同时使用)

3、构造对应的mapper.xml文件

1)去官方找文档,复制.xml的基本格式

在这里插入图片描述

在这里插入图片描述

  • mapper namespace=“指定的mapper文件名”

在这里插入图片描述

4、在全局配置文件中,这和mybatis

在这里插入图片描述

5、构造controller层

  • controller在后端(dao)与前端(页面)之间

在这里插入图片描述

在这里插入图片描述

  • 由于SpringBoot集成了事务,所以修改数据库等操作,不需要用户添加事务处理了
    基本流程:链接→controller→mapper层(mapper接口→mapper.xml)→数据库

将数据库连接添加到员工管理系统

  • 全局配置文件的东西一定要一样

在这里插入图片描述

  • 刚写的项目里面没有service层,直接是,controller调用mapper层(dao层)的
  • 表单传入的属性会封装成一个对象,把属性添加表单就可
  • 实体类默认无参构造,无参构造可以在属性范围内随机的生成随机属性的对象,如果有需要的话。
  • 有参构造,一定要完整的属性,实体类才能封装成对象。
  • 除了可以用dao/mapper.xml以外,还可以使用@注解的方式(在接口的方法上面添加对应注解)

SpringBoot学习(四)-整合JDBC、Druid、MyBatis 开发的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

  • 39
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Spring Boot是一个快速开发框架,而MyBatis是一个流行的ORM框架,Druid是一个高性能的数据库连接池。将它们整合在一起可以提高开发效率和系统性能。具体步骤如下: 1. 引入相关依赖:在pom.xml文件中添加spring-boot-starter-jdbcmybatis-spring-boot-starter和druid-spring-boot-starter依赖。 2. 配置数据源:在application.properties文件中配置数据源信息,包括数据库URL、用户名、密码等。 3. 配置MyBatis:在application.properties文件中配置MyBatis相关信息,包括mapper文件路径、实体类包路径等。 4. 配置Druid:在application.properties文件中配置Druid相关信息,包括连接池大小、监控页面路径等。 5. 编写Mapper接口和SQL语句:在Mapper接口中定义SQL语句,并使用@Mapper注解标注该接口。 6. 编写Service层和Controller层:在Service层中调用Mapper接口,实现业务逻辑;在Controller层中处理请求和响应。 7. 启动应用程序:使用Spring Boot的启动器启动应用程序,访问相关接口即可。 总之,整合Spring BootMyBatisDruid可以让我们更方便地开发数据库应用程序,提高开发效率和系统性能。 ### 回答2: Spring Boot 是目前非常热门的一种快速构建 web 应用程序的框架,而 Mybatis 是一款非常流行的 Java 数据库持久化框架,Druid 是阿里巴巴开发的数据库连接池和监控工具。Spring Boot 整合 MybatisDruid 的开发方式比较简单,只需要进行相应的配置即可。 首先,在 pom.xml 文件中添加 MybatisDruid 的依赖: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency> ``` 然后,在 application.yml 或 application.properties 中添加相应的配置,以下是一个示例: ``` spring: datasource: type: com.alibaba.druid.pool.DruidDataSource username: root password: root url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver druid: min-idle: 5 max-active: 20 initial-size: 5 test-on-borrow: true validation-query: SELECT 1 mybatis: mapper-locations: classpath:mapper/*.xml ``` 其中,spring.datasource 下的配置是数据库连接相关的配置,druid 下的配置是连接池相关的配置,mybatis 下的配置是 Mybatis 相关的配置。 最后,在需要使用 Mybatis 的类上添加 @Mapper 注解即可,例如: ``` @Mapper public interface UserDao { List<User> selectAll(); void insert(User user); } ``` 这样,我们就通过 Spring Boot 整合MybatisDruid,并且可以方便地使用它们来访问数据库。同时,Druid 还提供了一些监控和统计功能,可以方便地了解应用程序访问数据库的性能和健康情况。 ### 回答3: 随着互联网应用越来越普及,Java Web开发也变得越来越火热,相应的Spring BootMyBatisDruid等技术也得到了广泛的应用。其中,Spring Boot是基于Spring Framework的一种全新框架,通过封装成熟的框架和工具,提高了开发效率,减少了配置量;MyBatis是一款优秀的基于Java的ORM框架,可以让开发人员更加专注于SQL本身,而无需过多关注底层的操作。Druid是一个强大的数据库连接池,具有监控、性能分析、SQL注入检查和防御、不同操作系统适配等特点,能够有效提高应用的性能和稳定性。 Spring Boot整合MyBatisDruid,可以将这三个技术更有效地结合起来,发挥它们的优点。 具体步骤如下: 1. 创建基于Spring Boot的Web工程,并在pom.xml文件中引入相关依赖。 ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</version> </dependency> ``` 2. 创建数据库连接的配置文件application.properties。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&allowMultiQueries=true spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver mybatis.config-location=classpath:mybatis/mybatis-config.xml mybatis.mapper-locations=classpath:com/example/mapper/*Mapper.xml mybatis.type-aliases-package=com.example.entity # Druid数据源配置 # 初始化大小、最小、最大连接数 spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 # 配置获取连接等待超时的时间 spring.datasource.maxWait=60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒 spring.datasource.timeBetweenEvictionRunsMillis=60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 spring.datasource.minEvictableIdleTimeMillis=300000 # 配置连接空闲的最大时间,超时将被关闭,单位毫秒 spring.datasource.maxEvictableIdleTimeMillis=900000 # 配置连接池中的连接创建时的默认自动提交配置 spring.datasource.defaultAutoCommit=true # 对于长时间不使用的连接强制关闭 spring.datasource.removeAbandoned=true spring.datasource.removeAbandonedTimeout=1800 spring.datasource.logAbandoned=true spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.filters=stat,wall,log4j ``` 3. 创建MyBatis的配置文件mybatis-config.xml。 ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> <setting name="logImpl" value="LOG4J" /> </settings> </configuration> ``` 4. 在Spring Boot的启动类上添加@Configuration注解,并通过@Bean注解来配置SqlSessionFactory和SqlSessionTemplate。 ```java @SpringBootApplication @Configuration @MapperScan(basePackages = "com.example.mapper") public class Application { @Autowired DataSource dataSource; @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(dataSource); return factoryBean.getObject(); } @Bean public SqlSessionTemplate sqlSessionTemplate() throws Exception { SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory()); return sqlSessionTemplate; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 5. 创建Mapper接口和对应的XML文件。 ```java public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User selectUserById(int id); } ``` ```xml <mapper namespace="com.example.mapper.UserMapper"> <resultMap id="userMap" type="com.example.entity.User"> <id column="id" property="id" jdbcType="INTEGER"/> <result column="username" property="username" jdbcType="VARCHAR"/> <result column="password" property="password" jdbcType="VARCHAR"/> <result column="age" property="age" jdbcType="VARCHAR"/> </resultMap> <select id="selectUserById" resultMap="userMap"> SELECT id, username, password, age FROM user WHERE id = #{id} </select> </mapper> ``` 6. 创建实体类,并注入Mapper接口到Service中进行操作。 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User selectById(int id) { return userMapper.selectUserById(id); } } ``` 7. 创建Controller,提供对外RESTful API接口。 ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User selectById(@PathVariable int id) { return userService.selectById(id); } } ``` 综上,以上是Spring Boot整合MyBatisDruid的流程。由于Spring Boot的封装,开发人员只需要关注业务逻辑的处理,而无需过多关注底层技术的实现细节,大大提高了开发效率。同时,MyBatisDruid提供了非常强大和灵活的数据操作支持和连接池管理,可以有效地提高应用的性能和稳定性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孔靠得住

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值