1. JDBC(Java Database Connectivity)
JDBC是Java提供的一种数据库连接标准,它允许Java程序连接到任何类型的数据库,执行SQL语句,并处理结果。
1.1 JDBC连接步骤
- 加载数据库驱动 :使用
Class.forName()方法加载数据库驱动。 - 建立连接 :使用
DriverManager.getConnection()方法建立与数据库的连接。 - 创建Statement :通过连接对象创建
Statement对象,用于执行SQL语句。 - 执行SQL语句 :使用
Statement对象的executeQuery()或executeUpdate()方法执行SQL语句。 - 处理结果 :对于查询操作,使用
ResultSet对象处理返回的结果集。 - 关闭资源 :最后,关闭
ResultSet、Statement和数据库连接。
1.2 示例代码
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "password";
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建Statement
Statement stmt = conn.createStatement();
// 执行查询
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
// 处理结果
while (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println(name + ", " + age);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
2. 使用连接池
在Web应用程序中,频繁地打开和关闭数据库连接是非常消耗资源的。因此,使用连接池是一个更好的选择。
2.1 常见的连接池
- HikariCP :性能最好的连接池之一,也是Spring Boot的默认连接池。
- Apache DBCP :Apache Commons提供的数据库连接池。
- C3P0 :一个成熟的连接池实现。
2.2 配置HikariCP
在Spring Boot项目中,你可以通过application.properties或application.yml文件配置HikariCP。
# application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=MyHikariCP
spring.datasource.hikari.max-lifetime=2000000
spring.datasource.hikari.connection-timeout=30000
3. 使用ORM框架
ORM(Object-Relational Mapping)框架可以简化数据库操作,将数据库表映射为Java对象。
3.1 常见的ORM框架
- Hibernate :一个功能强大的ORM框架,支持多种数据库。
- MyBatis :一个灵活的SQL映射框架,允许开发者编写自定义的SQL语句。
- Spring Data JPA :基于Hibernate的JPA实现,简化了数据访问层的开发。
3.2 示例:使用Spring Data JPA
- 添加依赖 :在
pom.xml中添加Spring Data JPA和数据库驱动的依赖。 - 配置数据源 :在
application.properties中配置数据源。 - 创建实体类 :定义与数据库表对应的实体类。
- 创建Repository接口 :继承
JpaRepository接口,Spring Data JPA会自动实现接口中的方法。 - 使用Repository :在服务层注入Repository,使用其提供的方法操作数据库。
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository {
}
4. 最佳实践
- 使用连接池 :避免每次请求都创建新的数据库连接。
- 使用ORM框架 :减少SQL硬编码,提高代码的可维护性。
- 事务管理 :确保数据库操作的原子性、一致性、隔离性和持久性。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
SQL
+关注
关注
1文章
789浏览量
46350 -
数据库
+关注
关注
7文章
3993浏览量
67714 -
代码
+关注
关注
30文章
4940浏览量
73116 -
JavaWeb
+关注
关注
0文章
16浏览量
6830
发布评论请先 登录
相关推荐
热点推荐
数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例
Oracle数据库故障:
某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库
数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例
MongoDB数据库数据恢复环境:
一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。
MongoDB数据库故障:
工作人员在MongoDB服务仍
数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复
MongoDB数据库数据恢复环境:
一台Windows Server操作系统虚拟机上部署MongoDB数据库。
MongoDB数据库故障:
管理员在未关闭MongoDB服务的
数据库数据恢复—SQL Server附加数据库提示“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。
如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份
从Delphi、C++ Builder和Lazarus连接到MySQL数据库
从 Delphi、C++ Builder 和 Lazarus 连接到 MySQL 数据库 MySQL 数据访问组件(MyDAC)是一个组件库,提供从 Delphi 和 C++ Bu
适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库
和 Linux 的 wheel 包分发。 直接连接 该解决方案使您能够通过 TCP/IP 建立与 MySQL 或者 MariaDB 数据库服务器的直接连接,而无需数据库客户端
避坑指南:云服务器数据库购买方法全攻略
云服务器数据库购买方法包含:先明确业务需求与数据库类型,再挑选信誉好、技术支持强的云服务提供商,接着根据需求配置数据库实例及选择付费方式。购买后,通过云管理平台访问管理
从Delphi、C++ Builder和Lazarus连接到Oracle数据库
从 Delphi、C++ Builder 和 Lazarus 连接到 Oracle 数据库 Oracle 数据访问组件 (ODAC) 是一个组件库,它为 32 位和 64 位平台提供从
MySQL数据库的安装
MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
云数据库是哪种数据库类型?
云数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
Looker Studio连接器:一个连接器从多个数据库和云应用获取数据
本地数据连接器 通过 Skyvia Agent 应用程序轻松将 Looker Studio(前身为 Google Data Studio)连接到本地数据库。无需将
数据库事件触发的设置和应用
数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python。
数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例
mysql数据库故障:
mysql数据库文件ibdata1、MYI、MYD损坏。
故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库

JavaWeb数据库连接方法
评论