JDBC
定义:JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC操作基本流程
1、加载JDBC驱动程序
(1) Class.forName(“com.mysql.jdbc.Driver”);这种的方式,不会对详细的驱动类产生依赖
(2) DriverManager.registerDriver(com.mysql.jdbc.Driver);会对详细的驱动类产生依赖
2、建立连接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名称","用户名称","密码");
3、创建语句(对数据库发出请求)
例如:插入请求
String sql="select id,username,pwd from t_user where id>?";
PrepareStatement ps=conn.prepareStatement(sql);
ps.setObject(1, 2); //第一个"问号",传入2. -->把id大于2的记录都取出来
rs=ps.executeQuery();
4、执行语句
ResultSet rs=ps.executeQuery(); //执行查询请求,并返回"结果集"
5、处理结果
while(rs.next()) {//rs.next()指向第一条
//传入的参数是列索引-->数据库中的第1列,第2列,第3列
//System.out.println(rs.getInt(1)+"---"+rs.getString(2)+"---"+rs.getString(3));
System.out.println(rs.getSInt("id")+"---"+rs.getString("username")+"-"+rs.getString("pwd")
}
6、关闭连接
if(rs!=null){ //RsultSet rs
rs.close();
}
if(ps!=null){ //PreparedStatement ps
ps.close();
}
if(conn!=null){ //connection conn
conn.close();
}
注意:关闭连接时 顺序为:resultset–>preparestatement–>connection ,这样的关闭顺序。
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.omg.CORBA.COMM_FAILURE;
public class d_ResultSet {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
//返回一个connection对象 建立连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3307/TestJdbc","root","123456");
String sql="select id,username,pwd from t_user where id>?";
ps=conn.prepareStatement(sql);
ps.setObject(1, 2); //把id大于2的记录都取出来
//ps.executeQuery() 执行并返回结果集
rs=ps.executeQuery();
while(rs.next()) {//rs.next()指向第一条
//getInt() 传入的参数是列索引
System.out.println(rs.getInt(1)+"---"+rs.getString(2)+"---"+rs.getString(3));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
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(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}