Java_jdbc 基础笔记之六 数据库连接 (PreparedStatement)
reparedStatement 是 Statement 的子接口
* ①需要预编译 SQL 语句:PreparedStatement ps = conn.preparedStatement(sql);
* ②填充占位符:setObject(int index);//index 从 1 开始
* ③execute() / executeUpdate() ; executeQuery(); 返回一个 ResultSet
*
* 1.替换原来的 Statement,实现增删改和查的操作 –>Statement 的问题:
* ①拼串 不方便,容易出错
* ②存在 sql 注入的问题,可以对数据库进行恶意攻击。
@Test
public void testPreparedStatement(){
Connection conn=null;
PreparedStatement ps=null;
try {
conn=JDBCTools.getConnection();
//需要预编译SQL语句
String sql="INSERT INTO customers (name,email,birth)VALUES(?,?,?)";
ps=conn.prepareStatement(sql);
//填充占位符
ps.setString(1, "xiaohong");
ps.setString(2, "xiaohong@atguigu");
ps.setDate(3, new Date(new java.util.Date().getTime()));
//调用方法
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCTools.close(null, ps, conn);
}
转: https://blog.csdn.net/YL1214012127/article/details/48292825
Java_jdbc 基础笔记之六 数据库连接 (PreparedStatement)的更多相关文章
- Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)
public Student getStudent(String sql, Object... args) { // 查询Student对象 Student stu = null; Connectio ...
- Java_jdbc 基础笔记之七 数据库连接(方法升级)
之前的更新方法 public static void update(String sql) { Connection conn = null; Statement statement = null; ...
- Java_jdbc 基础笔记之一 数据库连接
方式一: 1.创建一个Driver实现类的对象 2.准备连接数据库的基本信息:url,user,password 3.调用Driver接口的connect(url,info)获取数据库连接 * Dri ...
- Java_jdbc 基础笔记之五 数据库连接 (ResultSet)
/** * ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果. * 1. 调用 Statement 对象的 executeQuery(sql)可以得到结果集. * 2. Resul ...
- Java_jdbc 基础笔记之四 数据库连接 (通用更新方法)
/** * 写一个通用的更新方法 包括 INSERT. DELETE.UPDATE * 使用工具类 * @param sql */ public void update(String sql){ Co ...
- Java_jdbc 基础笔记之三 数据库连接 (Statement)
/** * 通过JDBC向之指定的数据表中插入一条记录 1 Statement :用于执行SQL语句的对象 * ==>通过Connection的createStatement()方法来获取 == ...
- Java_jdbc 基础笔记之十五 数据库连接(取得数据库自动生成的主键)
public class testGetKeyValue { /** * 取得数据库自动生成的主键 */ @Test public void testGeneratedKeys() { Connect ...
- Java_jdbc 基础笔记之十四 数据库连接(元数据)数据库信息及连接信息
public class MetaDatatest { /** * DatabaseMetaData 是描述 数据库的元数据对象 可以由Connection得到 */ @Test public voi ...
- Java_jdbc 基础笔记之十三 数据库连接(DAO)
public class DAO { // INSERT, UPDATE, DELETE 操作都可以包含在其中 public void update(String sql, Object... arg ...
随机推荐
- Android为TV端助力之弹出软键盘方式
- 给用过SAP CRM中间件的老哥老姐们讲讲SAP CPI
最近Jerry由于项目需要,又得学习一个新工具:SAP Cloud Platform Integration,简称CPI,以前又叫做HCI - HANA Cloud Platform Integrat ...
- 给 linux redis 设置密码
在redis.conf 找到 下面添加一行: 这样的话,密码就可以设置成123456,然后重启redis就可以了.
- 02-CSS常用样式
本篇主要介绍css的常用样式,以及网页布局相关知识.绝对定位和相对定位,盒子模型.css权重.以及css选择器: 绪论:CSS基本介绍 为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开, ...
- centos下安装opencv
根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口.虽然不知道是个啥,还是简单了解下. opencv是什么? OpenCV的全称是Open Source ...
- PAT甲级1012题解——选择一种合适数据存储方式能使题目变得更简单
题目分析: 本题的算法并不复杂,主要是要搞清楚数据的存储方式(选择一种合适的方式存储每个学生的四个成绩很重要)这里由于N的范围为10^6,故选择结构体来存放对应下标为学生的id(N只有2000的范围, ...
- vim中自动补全插件snipmate使用
vim中自动补全插件snipmate使用 1.下载snipMatezip:https://github.com/msanders/snipmate.vim/archive/master.zip 2.解 ...
- 项目Beta冲刺 - 凡事预则立
课程: 软件工程1916|W(福州大学) 作业要求: 项目Beta冲刺 团队名称: 火鸡堂 作业目标: 尽力交付 火鸡堂 队员学号 队员姓名 博客地址 备注 221600111 彼术向 http:// ...
- Open Source Isn't A Business Model, It's A Market Strategy
https://www.forbes.com/sites/quora/2017/09/29/open-source-isnt-a-business-model-its-a-market-strateg ...
- Dubbo源码分析:Server
Server接口是开启一个socket服务.服务实现有netty,mina,grizzly的. 抽象时序图 获取NettyServer时序图 Transporter类图 Server 类图