JDBC(4)—Preparedstatement
来源:互联网 发布:如何评价林俊杰 知乎 编辑:程序博客网 时间:2024/06/06 02:22
- 功能:使用PreparedStatement操作数据表,其功能与Statement一致,但为何要使用PreparedStatement呢。
- 一、原因:
- 1.使用sql语句进行操作数据表时,需要拼写sql语句,在拼写时容易出错,且不易排查,所以使用PreparedStatement
*操作数据表时,降低sql语句的拼写难度,简化拼写sql语句的步骤,提高代码的可维护性和可读性。 - 2.同时还可以有效的防SQL注入。
*SQL注入:利用某些系统没有对用户输入的数据进行充分的检查,而而在用户中注入非法的SQL语句段或命令从而利用系统的SQL引擎
*完成恶意操作。
例如:select from user where username = ‘a’ OR PASSWORD = ’ and password = ’ OR ‘1’ = ‘1’
*即使不知道账号密码,却可以登录成功。 - 3.PerparedStatement能够最大可能的提高性能
- 二、 介绍:PreparedStatement是Statement的子接口,可以传入带占位符的sql语句,也提供了补充占位符变量的方法。
- 三、操作:向数据表中插入一条Student记录
步骤:
- 1.sql = “insert into examStudent values (?,?,?,?,?,?)”;其中?表示:占位符
- 2.获取连接Connection
- 3.创建PreparedStatement ps = conn.preparedStatement(sql);
- 4.调用PreparedStatement的setXxx(int index,Object value);设置占位符的值
*其中索引值index从1开始。 - 5.执行sql语句,使用executeQuery()方法进行查询和executeUpdate()方法进行更新,执行时也不需要传入sql语句。
- 6.关闭连接
实例
//插入一条记录@Test public void test(){ //1.sql语句 String sql = "insert into customers(name,age,birth,address) values(?,?,?,?)"; Connection conn = null; PreparedStatement ps = null; try { //2.连接 conn = TestTools.getConnection(); //3.获取PerparedStatement对象 ps = conn.prepareStatement(sql); //4.PreparedStatement对象调用setXxx()方法,设置占位符的值 ps.setString(1, "张强"); ps.setString(2, "32"); ps.setDate(3, new Date(new java.util.Date().getTime())); ps.setString(4, "河南省"); //5.执行sql语句 ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }finally{ //6.关闭连接 TestTools.release(ps, conn); } }
阅读全文
0 0
- JDBC(4)—Preparedstatement
- JDBC学习笔记(4)—PreparedStatement执行SQL语句
- 五、JDBC——PreparedStatement
- JDBC—MeteData、PreparedStatement、CallableStatement
- JDBC---PreparedStatement 批处理(二)
- jsp基础——JDBC(3)@preparedStatement
- JDBC-PreparedStatement
- JDBC---PreparedStatement
- jdbc PreparedStatement
- JDBC:PreparedStatement
- JDBC 4 PreparedStatement 与Statement 的区别
- JDBC——Connection,Statement,PreparedStatement,CallableStatement
- JDBC——Connection,Statement,PreparedStatement,CallableStatement
- JDBC高级编程——PreparedStatement
- java——jdbc 使用 PreparedStatement接口
- JDBC(四)SQL 注入与 PreparedStatement
- JDBC学习笔记(4)之PreparedStatement、ResultSetMetaData、数据库连接池的概念性知识
- JDBC基础教程之PreparedStatement
- 博客积分
- linux shell编程
- HDU 4765 Tsp 2013长春网络赛G题 DP
- Spring:IoC 用法(八、<bean>用法)
- java面试 用过哪些java2e框架,优缺点。
- JDBC(4)—Preparedstatement
- 如何在jni中查看手机cpu构架
- Array.Add添加
- ubuntu主题
- Android避免多进程Application onCreate中初始化代码执行多次
- WebWorker(工作线程)笔记
- 【Eternallyc】HDU-2546-饭卡
- sklearn浅析(六)——Kernel Ridge Regression
- Myeclipse快捷键