JavaWeb笔记13-JDBC原理及使用Statement访问数据库
JDBC
Java DataBase Connectivity
将java代码和数据库进行连接
可以为多种关系型数据库DBMS提供统一的访问方式,目的就是用java来操作数据库
java -> JDBC DriverManager(统一管理器) -> 驱动 -> 数据库
不同的数据库需要不同的驱动来操作,JDBC DriverManager可以通过统一操作不同的驱动来操作不同的数据库。
接口、方法、类:API
jdbc通过API来操作驱动
JDBC DriverManager
管理不同的数据库驱动
数据库驱动(jar包)
驱动是由数据库相应厂商提供的(第三方公司提供)
作用:连接/直接操作数据库
JDBC API
提供各种操作访问接口(增删改查)
Connection
Statement
PreparedStatement
ResultSet
主要功能:
1、与数据库建立链接
2、对数据库发送SQL(增删改查)语句
3、返回数据库的处理结果
具体是通过以下方法实现
DriverMan:管理JDBC驱动
Connection:连接
Statement(PreparedStatement):增删改查
CallableStatement:调用数据库中的存储过程/存储函数
Result:返回的结果集
JDBC访问数据库的具体步骤
1、导入驱动,加载具体的驱动类
2、与数据库建立链接
3、发送sql,执行
4、(查询)处理结果集
数据库驱动
最常见的关系型数据库及对应驱动jar:
Oracle ——ojdbc-x.jar
MySQL——mysql-connector-java-x.jar
SqlServer——sqljdbc-x.jar
数据库对应的具体驱动类:
Oracle——oracle.jdbc.OracleDriver
MySQL——com.mysql.jdbc.Driver
SqlServer——com.microsoft.sqlserver.jdbc.SQLServerDriver
创建数据库连接需要三个要素;
数据库名&IP地址端口号:连接字符串
用户名
密码
各数据库对应的连接字符串
Oracle:
jdbc:oracle:thin:@localhost:1521:ORCL
MySQL:
jdbc:mysql://localhost:3306/数据库实例名
SqlServer:
jdbc:microsoft:sqlserver:localhost:1433;databasename=数据库实例名
获取连接对象通过DriverManager
示例代码:
public class Test {
// 数据库连接字符串
private static final String URL = "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
public static void update() {
Connection connection = null;
Statement stmt = null;
try {
// a、导入驱动,加载具体的驱动类
Class.forName("com.mysql.jdbc.Driver");
// b、与数据库建立连接
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// c、发送sql,执行(增删改、查)
stmt = connection.createStatement();
String sql = "INSERT INTO student(`id`,`name`,`birthday`)" + "VALUES('20200023','BinBin','2001-09-09')";
// 返回值表示增删改几条数据
int count = stmt.executeUpdate(sql); // 执行sql语句
// d、处理结果
if (count > 0) {
System.out.println("操作成功!");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
finally {
// 关闭数据库连接
try {
// 对象.方法,如果对象为空,会报空指针
stmt.close();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String args[]) {
update();
}
本文地址:https://blog.csdn.net/PIUYIXIU/article/details/108908408
上一篇: 细数ATI和NVIDIA驱动的优缺点
下一篇: 云端应用平台带来互联网创业最佳时机