JDBC(Java Database Connectivity)是java官方提供的一套API,用于连接各种数据库。它提供了一组用于执行SQL语法的java方法,以及连接到数据源和处理查询结果的一类工具和类。
1 JDBC核心接口
Connection:表示数据库的连接
Statement:用来执行SQL语句的语句对象
PreparedStatenment:用来执行预编译SQL语句的语句对象
ResultSet:用来表示查询结果集
不同的DBMS都会提供一套具体的实现类,并打包为jar,这个jar包被称为连接该DBMS的驱动(Driver)。
2 JDBC使用流程
1、pom.xml中添加MySQL数据库依赖,并刷新maven
2、加载JDBC驱动程序
在使用JDBC前,必须先架子啊所需的JDBC驱动程序
class.forName("com.mysql.jdbc.Driver")
3、建立数据库连接
要连接到数据库,必须使用JDBC中的DriverManager类
DriberManager类负责管理JDBC驱动程序,它使用特定的URL和属性来获取连接
String url = "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url, user, password);
4、执行SQL语句
Statement对象执行SQL(静态SQL语句)
执行SQL语句的最常用方法是使用Statement对象。Statement对象用于执行静态SQL语句
Statement statement = connection.createStatement();String sql = "SELECT * FROM student";ResultSet resultSet = statement.executeQuery(sql);
PreparedStatement对象执行动态SQL语句。
String sql = "UPDATE student SET name = ? WHERE id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, "Tom");statement.setInt(2, 1);statement.executeUpdate();
5、处理查询结果
JDBC API提供了ResultSet对象,用于处理查询结果,可以使用ResultSet对象的getXXX方法获取查询结果中的数据
while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");}
2 JDBC异常处理
在使用JDBC时,可能会发生各种异常。JDBC API定义了SQLException类来处理这些异常。建议在应用程序中使用try-catch语句处理异常。
3 数据库连接池
简介:阿里巴巴数据库连接池(Druid)是阿里巴巴开源的一个基于JDBC数据库连接池
1、Maven依赖
<!-- 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency>
2、优点:
package jdbc;import com.alibaba.druid.pool.DruidDataSource;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class DBUtil {// 连接池private static DruidDataSource ds;static {initDataSource(); // 初始化连接池}private static void initDataSource(){ds = new DruidDataSource();ds.setUsername("root");ds.setPassword("root");ds.setUrl("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true");ds.setMaxActive(30); // 最大连接数ds.setInitialSize(5); // 初始连接数}public static Connection getConnection() throws SQLException {return ds.getConnection();}}
文章详细介绍了JDBC的核心接口,包括Connection、Statement、PreparedStatement和ResultSet,阐述了JDBC连接数据库的流程,包括加载驱动、建立连接和执行SQL。同时,提到了JDBC的异常处理,并重点讨论了阿里巴巴的Druid数据库连接池,强调了其性能提升、资源节省和防止连接泄露的优点,以及使用Druid初始化连接池的基本步骤。
1690

被折叠的 条评论
为什么被折叠?



