您的位置:首页 > 数据库

JDBC基本用法

2015-08-19 09:24 302 查看
1.什么是JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

如果你不知道上面说的是什么,你需要知道的是JDBC是java操作数据库的API。

2.JDBC与数据库



通过此图加深理解jdbc和数据库的关系吧。

3.基本用法

两步建立数据库连接: 1.1加载数据库驱动 1.2定位数据库连接字符串

.加载数据库驱动

Class.forName("com.mysql.jdbc.Driver");

// 打开一个连接

// 需要使用DriverManager.getConnection()方法创建一个Connection对象,它代表一个物理连接的数据库

Connection  con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test" ,"root","root");


创建一个Statement

要执行SQL语句,必须获得java.sql.Statement实例,一般通过
ps=con.prepareStatement("select * from student");


获得

3.执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate   和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句 ,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或 DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。


具体实现的代码:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;


4.处理结果,从结果中提取数据

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while (rs.next()) {
int id = rs.getInt(1);
System.out.println(id);
}


5.关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if (con != null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


完整代码:

import com.mysql.jdbc.Connection;

public class test {

//定义

static Connection con=null;

static PreparedStatement ps=null;

static ResultSet rs =null;

public static void main(String[] args) {
// TODO Auto-generated method stub

//建立数据库连接分为两步:
// 1.加载数据库驱动   2.定位数据库连接字符串

try {
//加载JDBC的驱动
Class.forName("com.mysql.jdbc.Driver");
// 打开一个连接
// 需要使用DriverManager.getConnection()方法创建一个Connection对象,它代表一个物理连接的数据库
Connection  con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test" ,"root","root");
//执行查询等操作
//需要使用一个prepareStatement 或者   Statement 构建,并提交一个SQL语句到数据库
ps=con.prepareStatement("select * from student");

//执行SQL语句
rs=ps.executeQuery();

//从结果集中提取数据

while (rs.next()) {
int id = rs.getInt(1);
System.out.println(id);

}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();


}

//清理环境

if(rs != null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if (con != null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


}

“`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 api jdbc 应用