首页 > 代码库 > JDBC第一天

JDBC第一天

// 1加载驱动
Class.forName("com.mysql.jdbc.Driver");// mysql数据库对应的加载类
// 2获得连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc", "root", "");//后面两项为用户名和密码:mysql中如代码,在oracle数据库中为自己定义的用户名和密码
// 注意这里导入java.sql.Connection包,不要使用快捷导入
// JDBC的URl写法
// 协议://主机地址:端口号/数据库名
// (MYSQL)jdbc:mysql://127.0.0.1:3306/jdbc(ORACLE)jdbc:oracle:thin:@127.0.0.1:1521:orcl
// 这里的jdbc为要使用的库
// 3创建statement对象
Statement st = conn.createStatement();
// 4写SQL语句
String SQL = "CREATE TABLE person(id INT (10)PRIMARY KEY AUTO_INCREMENT ,name VARCHAR(300))";
// 5执行SQL语句
boolean b = st.execute(SQL);
// 最后一步:释放资源
st.close();
conn.close();

1:为什么要使用JDBC

使用 JDBC 可以连接到数据库
通过 JDBC 可以在 Java 应用程序中执行 SQL 语句
通过 JDBC 可以获得 SQL 语句的执行结果

2:JDBC Driver
现在常用的是:本地协议驱动
直接把JDBC调用转换为
符合相关数据库规范的请求
完全用Java语言实现
因此实现了平台独立性 

核心API 作用
java.sql.Driver 每个驱动程序都应该提供一个实现 Driver 接口的类 ( 由各数据库厂商提供 )
java.sql.DriverManager 负责管理管理一组 JDBC 驱动程序的基本服务
java.sql.Connection 与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果
java.sql.Statement 用于执行静态 SQL 语句并返回它所生成结果的对象
java.sql.PreparedStatement 表示预编译的 SQL 语句的对象。
SQL 语句被预编译并存储在 PreparedStatement 对象中,之后可以使用此
对象多次高效地执行该语句
java.sql.CallableStatement 用于执行 SQL 存储过程的接口
java.sql.ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成

使用JDBC连接数据库时的URL格式

协议 : 子协议 : 主机地址 : 端口号 : 数据库名或实例名

数据库 常用数据库连接格式 默认端口
Oracle jdbc:oracle:thin:@host:port:SID 1521
MySQL jdbc:mysql://host:port/database 3306
PostgreSQL jdbc:postgresql://host:port/database 5432
SQL Server jdbc:microsoft:sqlserver://host:port/database 1433


java.sql.DriverManager 接口中定义了获取数据库连接的方法
连接数据库必须指定数据库连接(url)、用户名(user)、密码(password)

ddl语句有:alter create drop truncate

dml语句有:insert delete update

如果 executeUpdate 或 executeLargeUpdate 执行的是 DDL 语句,则方法的返回值是 0
但绝不能因为方法执行后返回 0 就断定执行的一定是 DDL 语句,因为执行DML语句也有可能导致方法返回 0

 

若 executeUpdate 或 executeLargeUpdate 执行的是 DML 语句,则方法返回受当前 DML 语句影响的记录数

 

Statement 对象并不能真正执行SQL语句,而是将SQL发送给数据库服务器,由数据库服务器执行

JDBC第一天