JDBC操作基本流程

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();
				}
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值