后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解

简介: 后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解

JDBC

简化JDBC的开发

JDBC仅仅是一套接口 是一套规范

Mybatis是持久层框架

用于简化JDBC的开发

使用Java语言操作关系型数据库的一套API

原始的JDBC程序

package com.bigdate.mybatis;
 
 
import com.bigdate.mybatis.mapper.UserMapper;
import com.bigdate.mybatis.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
 
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
 
@SpringBootTest //springboot整合单元测试的注解
class MybatisApplicationTests {
 
  @Autowired
  private UserMapper userMapper;
 
  @Test
  public void testListUser(){
    List<User> userList = userMapper.list();
    userList.stream().forEach(user -> {
      System.out.println(user);
    });
  }
 
  @Test
  public void testJdbc() throws Exception {
    //1. 注册驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
 
    //2. 获取连接对象
    String url = "jdbc:mysql://localhost:3306/mybatis";
    String username = "root";
    String password = "123456";
    Connection connection = DriverManager.getConnection(url, username, password);
 
    //3. 获取执行SQL的对象Statement,执行SQL,返回结果
    String sql = "select * from user";
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery(sql);
 
    //4. 封装结果数据
    List<User> userList = new ArrayList<>();
    while (resultSet.next()){
      int id = resultSet.getInt("id");
      String name = resultSet.getString("name");
      short age = resultSet.getShort("age");
      short gender = resultSet.getShort("gender");
      String phone = resultSet.getString("phone");
 
      User user = new User(id,name,age,gender,phone);
      userList.add(user);
    }
 
    //5. 释放资源
    statement.close();
    connection.close();
  }
}

注册驱动指定驱动类的类名

还有指定url

还要获取连接 断开连接

缺点太多

Springboot和Mybatis整合

底层存在数据库连接池

比较

小结

JDBC是一套规范

各个数据库厂商提供对应的实现

叫做数据库的驱动

但是由于原始的JDBC的API开发繁琐 效率底下

所以现在出现了Mybatis这种持久层框架

用来对JDBC进行封装 简化操作 提高效率

日后的企业级开发中也会基于Mybatis这样的持久层框架进行

数据库连接池技术

当各个客户端获取数据库的时候会在数据库连接池中获取数据库的连接

使用完毕后会再还给数据库

追光者连接池

德鲁伊连接池

切换德鲁伊连接池

在pom文件里添加依赖

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
<!-- druid连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>

在数据库配置文件里指定

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

这样就连接成功

小结

lombok

之前的实体类

lombok简化实体类的书写

只要加上一个注解就行

引入lombok的依赖

不用指定版本号 因为springboot工程会统一版本号

<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

修改实体类

package com.bigdate.mybatis.pojo;
 
import lombok.*;
 
//@Getter
//@Setter
//@ToString
//@EqualsAndHashCode
 
@Data
@NoArgsConstructor  //无参构造
@AllArgsConstructor //带参构造
 
public class User {
    private Integer id;
    private String name;
    private Short age;
    private Short gender;
    private String phone;
    
}

用户信息正常封装

用户信息正常输出

我们的idea自带此插件

目录
相关文章
|
12月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
941 2
|
SQL Java 数据库连接
深入 MyBatis-Plus 插件:解锁高级数据库功能
Mybatis-Plus 提供了丰富的插件机制,这些插件可以帮助开发者更方便地扩展 Mybatis 的功能,提升开发效率、优化性能和实现一些常用的功能。
2184 26
深入 MyBatis-Plus 插件:解锁高级数据库功能
|
SQL Java 关系型数据库
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
1427 7
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
2168 6
|
SQL Java 数据库连接
MyBatis-Plus高级用法:最优化持久层开发
MyBatis-Plus 通过简化常见的持久层开发任务,提高了开发效率和代码的可维护性。通过合理使用条件构造器、分页插件、逻辑删除和代码生成器等高级功能,可以进一步优化持久层开发,提升系统性能和稳定性。掌握这些高级用法和最佳实践,有助于开发者构建高效、稳定和可扩展的企业级应用。
1110 13
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
919 2
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
966 2
|
Oracle 关系型数据库 Java
|
SQL Java 数据库连接
【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢
由于网络带宽不足导致的jdbc向yashandb插入数据慢
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细

热门文章

最新文章