jdbc java数据库连接 4)PreParedStatement接口 之 区别和例子
Statement 和 PreparedStatement 的区别:
1)语句不同
PreparedStatement需要预编译以及需要参数
2)由于PreparedStatement有缓存区,所以效率更高
3)由于PreparedStatement有缓存区,所以更安全,防止了注入(1=1)
PreparedStatement接口(推荐使用):
代码1:
1 /** 2 * 添加数据语句 3 **/ 4 5 private static void Intinsert() { 6 7 Connection conn = null; 8 PreparedStatement stsm = null; 9 try { 10 // 1:调用工具类获取连接 11 conn = Jdbcutil.getConnection(); 12 13 // 2:准备sql预编译语句 14 // ?占用一个参数位 15 String sql = "INSERT INTO person (NAME,sex,age) VALUES (?,?,?);"; 16 17 // 3:执行sql预编译语句(检查语法) 18 stsm = conn.prepareStatement(sql); 19 20 // 4:设置传递的参数 21 22 stsm.setString(1, "张三"); 23 stsm.setString(2, "男"); 24 stsm.setInt(3, 20); 25 26 // 5:发送参数,执行sql 27 // 注意:这里的方法后面没有参数 28 int result = stsm.executeUpdate(); 29 System.out.println("影响了" + result + "行"); 30 } catch (Exception e) { 31 e.printStackTrace(); 32 } finally { 33 // 6:关闭连接 34 Jdbcutil.close(conn, stsm); 35 } 36 }
代码2:
1 /** 2 * 修改语句 3 */ 4 5 private static void testUpdate() { 6 7 Connection conn = null; 8 PreparedStatement stsm = null; 9 10 try { 11 // 1:创建连接 12 conn = Jdbcutil.getConnection(); 13 14 // 2:创建sql预编译语言 15 String sql = "UPDATE person SET NAME = ?WHERE id = ?;"; 16 17 // 3:执行sql预编译语言 18 stsm = conn.prepareStatement(sql); 19 20 // 4: 设置参数 21 stsm.setString(1, "李四"); 22 stsm.setInt(2, 3); 23 24 // 5:发送参数,执行sql 25 int result = stsm.executeUpdate(); 26 System.out.println("影响了" + result + "行"); 27 } catch (Exception e) { 28 e.printStackTrace(); 29 } finally { 30 Jdbcutil.close(conn, stsm); 31 } 32 33 }
代码3:
1 /** 2 * 查询语句 3 */ 4 5 private static void testSelect() { 6 7 ResultSet rs = null; 8 Connection conn = null; 9 PreparedStatement stsm = null; 10 try { 11 // 1:创建连接 12 conn = Jdbcutil.getConnection(); 13 14 // 2:创建sql预编译语言 15 String sql = "SELECT * FROM person;"; 16 17 // 3:执行预编译语言 18 stsm = conn.prepareStatement(sql); 19 20 // 这里不需要设置参数 21 // 4:执行sql语言 22 rs = stsm.executeQuery(); 23 24 // 5:查看所有数据 25 while (rs.next()) { 26 int id = rs.getInt("id"); 27 String name = rs.getString("name"); 28 String sex = rs.getString("sex"); 29 System.out.println(id + "," + name + "," + sex); 30 } 31 } catch (Exception e) { 32 e.printStackTrace(); 33 throw new RuntimeException(e); 34 } finally { 35 Jdbcutil.close(conn, stsm, rs); 36 } 37 38 }
转载于:https://www.cnblogs.com/LZL-student/p/6012992.html
jdbc java数据库连接 4)PreParedStatement接口 之 区别和例子相关推荐
- day04 JDBC java数据库连接
day04 JDBC java数据库连接 yuxiaohu已关注 2017.12.03 16:12:19字数 139阅读 85 1 导包 mysql 提供的实现java接口的包路径 C:\Progra ...
- 详细解答Java中抽象类和接口的区别问题!
接口(Interface)和抽象类(Abstract Class)是支持抽象类定义的两种机制. 一.抽象类 在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称 ...
- [Java基础]抽象类和接口的区别
抽象类和接口的区别:
- Java中抽象类和接口的区别?
抽象类和接口的概念 抽象类 抽象类必须用 abstract 修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用 abstract 修饰.抽象类默认的权限修饰符为 public,可以 ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 1 // 创建驱动注册对象 2 Cl ...
- jdbc java数据库连接 5)CallableStatement 接口
CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: 1 DELIMITER $ 2 CREATE PROCEDURE pro_findById ...
- 详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- Java基础 抽象类和接口的区别、equals 与 == 的区别
一.抽象类和接口有什么区别 抽象类与接口都用于抽象,但是抽象类可以有自己的部分实现,而接口规范某一行为,调用者实现这个接口. 主要区别: 1.抽象类还是类只能单继承,而接口却可以多实现. 2.抽象类满 ...
- 【转】详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
最新文章
- 去除菜单项的加速键--‘’符号
- 面向对象(面向对象设计,面向对象编程,实例变量)
- 【翻译】(5)Android.mk File
- Altium designer 操作笔记
- 计算长方形的周长和面积(类和对象)_JAVA
- vue2移动端使用vee-validate进行表单验证
- 国内Linux shell,管理你的 shell 环境 | Linux 中国
- Codeforces Round #592 (Div. 2) G. Running in Pairs 构造(水)
- 企业级数据库备份方案完全攻略
- 怎样验证软件是否可信?是否被篡改?
- Spring Boot(3)---Spring Boot启动器Starter详解
- JAVA 5.17习题
- 九宫怎么排列和使用_开心数独:好友都在玩的数独九宫格小游戏,居家无聊杀时间必备!...
- SQL教程(从入门到精通)
- mysql中如何批量删除冗余数据库_WordPress清理数据库中的冗余数据加速网站运行速度...
- win10无法打开网页
- 光伏抢装潮:630的得与失
- [ 后缀数组 ] [ SDOI2008 ] BZOJ4698 Sandy的卡片
- 好物分享 | 也许是最好用的文件/目录对比软件
- 干货分享:常见的测试类型有哪些?
热门文章
- 【热门算法】ctr、cvr
- ngzorro html源码,angular使用NG ZORRO来构建博客展示项目(简单实现展示页面)
- ngzorro-nzMaxStack设置提示信息的最大显示数量
- 雨林木风U盘装系统综合教程
- 系统分析师真题2019试卷相关概念一
- 【Vue】Class与Style的绑定 —— 绑定对象与数组
- 计算机应用基础word2010文字处理,计算机应用基础(Word 2010 文字处理系统)
- 浙江恒威深交所上市:市值60亿 汪剑平家族色彩浓厚
- RHCSA笔记 - 安装虚拟机、安装rhel系统、连接Xshell
- 数字化转型案例:基于EdgeX和OpenVINO的数智化生产车间管理系统