概念:
- 全称:(Java DataBase Connectivity)
- JDBC就是使用Java语言操作关系型数据库的一套API

步骤
1.创建工程,导入驱动jar包–>mysql-connector-java-5.1.48.jar
可以在https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/Maven 中央仓库下载该jar包

2.随后右击jar包,步骤如下


3.在src/com/itheima/jdbc中的JDBCDemo.java写下以下代码
package com.itheima.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* JDBC快速入门
*/
public class JDBCDemo {
public static void main(String[] args) throws Exception{
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取链接
String url="jdbc:mysql://ip地址(域名):端口号/数据库名称";
String username="用户名";
String password="密码";
Connection conn= DriverManager.getConnection(url,username,password);
//3.定义sql
String sql="update...";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
//5.执行sql
int count = (int) stmt.executeLargeUpdate(sql);//受影响的行数
//6.处理结果
System.out.println(count);
//7.释放资源
stmt.close();
conn.close();
}
}
JDBC API 详解
DriverManager、Connection、Statement、ResultSet、PreparedStatement
DriverManager
1.注册驱动
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
2.获取链接
Static Connection getConnection(String url,String user,String password)
参数
String url="jdbc:mysql://ip地址(域名):端口号/数据库名称";
String username="用户名";
String password="密码";
细节:
- 如果连接的是本机mysql服务器,并且MySQL服务器默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对
- 如果useSSL=false参数,禁用安全链接方式,解决警告提示
Connection
Connection(数据库连接对象)作用:
1.获取执行SQL的对象
- 普通执行SQL对象:Statement createStatement(sql)
- 预编译SQL的执行SQL对象(防止SQL注入):PreparedStatement prepareStatement(sql)
- 执行存储过程的对象:CallableStatement prepareCall(sql)
2.管理事务
MySQL事务管理

JDBC事务管理:Connection接口中定义了3个对应的方法

Statement
- 作用:
执行SQL语句

| 类别 | 全称 | 中文 | 目的 | 主要命令 | 事务 |
| DDL | Data Definition Language | 数据定义语言 | 定义和管理数据库结构 | CREATE,ALTER,DROP,TRUNCATE,RENAME | 自动提交 |
| DML | Data Manipulation Language | 数据操作语言 | 操作和管理数据库中的数据(增、删、改) | INSERT,UPDATE,DELETE,MERGE,CALL | 可回滚 |
| DQL | Data Query Language | 数据查询语言 | 从数据库中查询/检索数据 | SELECT | 可回滚 |
ResultSet
- 作用:
封装了DQL查询语句的结果

- 获取查询结果

PreparedStatement
作用:
预编译SQL并执行SQL语句
- 获取PreparedStatement对象
//SQL语句中的参数值,使用?占位符替代
String sql="select * from user where usename = ? and password = ?";
//通过Connection对象获取,并传入对应的sql语句
PreparedStatement pstmt = conn.prepareStatement(sql);
- 设置参数值
PreparedStatement对象:setXxx(参数1,参数2): 给 ? 赋值
Xxx:数据类型 ; 如setInt (参数1,参数2)
- 执行SQL
executeUpdat();/executeQuery(); :不需要在传递sql
好处:
1.预编译SQL,性能更高
2.防止SQL注入:将敏感字符进行转义
PreparedStatement预编译功能开启:useServerPrepStmts=ture
数据库连接池
标准接口:DataSource(获取连接)
Connection getConnection()
常见的数据库连接池:DBCP、C3P0、Druid(Druid连接池是阿里巴巴开源的数据库连接池项目;功能强大,性能优秀,是Java语言最好的数据库连接池之一)
Druid
1.导入jar包 druid-1.1.12.jar
2.定义配置文件
3.加载配置文件
4.获取数据库连接池对象
5.获取连接
以上详细操作在09-数据库连接池-简介&Druid使用_哔哩哔哩_bilibili的7:13进度条



