JDBC的简单使用

JDBC的概念

jdbc: java database connectivity java 与数据库的连接

角色分类

服务器 (db): a)、接收 sql b)、执行 sql c)、返回结果
客户端 (java):a)、接收数据 b)、组装sql c)、发送SQL(与数据库建立联系) d)、分析结果

jdbc 步骤

在这里插入图片描述

jdbc的连接

Connection con ==DriverManager.getConnection(“jdbc:oracle:thin:@locahost:1521:orcl”,“scott”,“tiger”)

处理块

静态处理块Statement

Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的 SQL 语句。Statement 对象,用于执行不带参数的简单 SQL 语句。

Statement state=con.createStatement();

特点:处理 不变的静态的 sql 语句
优点: 直接查看sql ,方便处理错误
缺点:性能不高 拼接 sql 麻烦 可能存在 sql 注入

预处理块PreparedStatement

PreparedStatement 接口继承了 Statement由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement 对象,以提高效率。
使用PreparedStatement时,他的SQL语句不再采用字符串拼接的方式,而是采用占位符的方式。“?”在这里就起到占位符的作用.

String sql = "update t_course set course_name =? where course_id=?";

特点 :处理 不变的静态的 sql 语句 |可变的 sql 语句 带 ? 的 sql
优点:性能高,方便编写sql 不存在sql注入 安全
缺点:不能直接打印sql语句 不方便处理错误

处理sql语句返回结果集

执行查询语句,并把结果集返回给集合ResultSet

ResultSet rs = s.executeQuery(sql);

释放资源

释放资源的原则是先打开的后关闭,一般的顺序为:结果集->处理块->连接

//JDBC查询语句的执行流程
public static void main(String[] args) throws ClassNotFoundException, SQLException {
		 //1.加载驱动(选择哪一个数据库)
		 Class.forName("oracle.jdbc.OracleDriver");
		 //2.获取连接(与数据库连接上)
		 Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "SCOTT", "TIGER");
		 //3.准备sql 
		 String sql="select empno,ename from emp";  //注意:sql语句后面不要添加分号;
		 //4.获取处理块 (打包发送)
		 Statement state=conn.createStatement();
		 //5.执行完毕得到结果,接收结果集
		 ResultSet result=state.executeQuery(sql);
		 //6.处理数据
		 while(result.next()){
			 int i=result.getInt(1);
			 String name=result.getString("ename");
			 System.out.println(i+"-->"+name);
		 }
		 //7.关闭
		 result.close();
		 state.close();
		 conn.close();
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值