赞
踩
(1) SQL
SQL是Structured Query Language的缩写,中文意思为结构化查询语言,是一种用于在关系数据库中进行数据管理和操作的标准语言。SQL可以用来完成创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等操作。SQL是一种非常重要的数据库编程语言,在各种企业应用程序中都有广泛应用。
(2) Mysql
MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现在属于Oracle公司所有。MySQL是一种在Web应用程序中广泛使用的数据库,它具有高效、安全和易用的特点。 MySQL支持多种操作系统,包括Windows、Linux和UNIX等。它也非常灵活,可以与多种编程语言(如PHP、Java、Perl、C++、Python)结合使用。MySQL的开源免费特性,使得它在Web应用程序、企业基础架构和科研领域被广泛应用。
(3) JDBC
JDBC: ( Java DataBase Connectivity ),就是使用Java语言操作关系型数据库的一套标准API。
它提供了一组用于访问和操作关系数据库的接口。通过JDBC API,Java应用程序可以连接到数据库服务器,执行SQL语句,以及处理查询结果等。
使用JDBC可以实现以下功能:
• 连接到数据库
• 执行SQL语句
• 处理查询结果
• 执行存储过程和函数
• 事务控制
JDBC的工作流程:
public class JdbcDemo {
public static void main(String[] args) {
try { // 加载JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/your_database_name"; String user = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, user, password); // 创建Statement对象 Statement stmt = conn.createStatement(); // 执行SQL语句 String sql = "SELECT * FROM your_table_name"; ResultSet rs = stmt.executeQuery(sql); // 处理查询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("id: " + id + ", name: " + name); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }
}
}
(4) Mybatis
Mybatis框架,就是对原始的JDBC程序的封装。
Mybatis是一款开源的Java持久层框架,它可以将Java对象与关系型数据库之间进行映射,使Java程序员可以在不必编写过多的JDBC代码的情况下进行CRUD(增删改查)操作。Mybatis主要由三部分组成:SQL映射文件、Java Bean以及映射配置文件。
Mybatis的核心优势如下:
• 简化SQL语句:Mybatis使用半自动化的方式工作,开发人员可以直接使用SQL语句来操作数据库,同时也支持动态SQL语句的使用。
• 更好的可维护性:将SQL语句与Java代码分离可以提高代码的可维护性和可读性。
• 易于集成:Mybatis可以与Spring、Spring Boot等多种框架无缝集成,使开发更加便捷。
Mybatis的使用流程:
// getter and setter methods
}
2. 编写SQL映射文件
// 插入新用户
User newUser = new User();
newUser.setName(“小明”);
newUser.setAge(20);
userMapper.insertUser(newUser);
// 更新用户
User updateUser = new User();
updateUser.setId(1);
updateUser.setName(“小红”);
updateUser.setAge(30);
userMapper.updateUser(updateUser);
// 删除用户
userMapper.deleteUserById(1);
// 提交事务
sqlSession.commit();
// 关闭SqlSession
sqlSession.close();
(5) 数据库连接池
数据库连接池是个容器,负责分配、管理数据库连接(Connection)
没有使用数据库连接池:
• 客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要关闭连接对象从而释放资源
• 每次执行SQL时都需要创建连接、销毁链接,这种频繁的重复创建销毁的过程是比较耗费计算机的性能。
使用数据库连接池:
• 程序在启动时,会在数据库连接池(容器)中,创建一定数量的Connection对象
• 客户端在执行SQL时,先从连接池中获取一个Connection对象,然后在执行SQL语句,SQL语句执行完之后,释放Connection时就会把Connection对象归还给连接池(Connection对象可以复用)
• 客户端获取到Connection对象,但是Connection并没有去访问数据库,数据库连接池发现Connection空闲时间 > 连接池中预设的最大空闲时间,数据库连接池就会自动释放掉这个连接对象
数据库连接池的好处:
把默认的数据库连接池切换为Druid数据库连接池:
参考官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。