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)的更多相关文章

  1. Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)

    public Student getStudent(String sql, Object... args) { // 查询Student对象 Student stu = null; Connectio ...

  2. Java_jdbc 基础笔记之七 数据库连接(方法升级)

    之前的更新方法 public static void update(String sql) { Connection conn = null; Statement statement = null; ...

  3. Java_jdbc 基础笔记之一 数据库连接

    方式一: 1.创建一个Driver实现类的对象 2.准备连接数据库的基本信息:url,user,password 3.调用Driver接口的connect(url,info)获取数据库连接 * Dri ...

  4. Java_jdbc 基础笔记之五 数据库连接 (ResultSet)

    /** * ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果. * 1. 调用 Statement 对象的 executeQuery(sql)可以得到结果集. * 2. Resul ...

  5. Java_jdbc 基础笔记之四 数据库连接 (通用更新方法)

    /** * 写一个通用的更新方法 包括 INSERT. DELETE.UPDATE * 使用工具类 * @param sql */ public void update(String sql){ Co ...

  6. Java_jdbc 基础笔记之三 数据库连接 (Statement)

    /** * 通过JDBC向之指定的数据表中插入一条记录 1 Statement :用于执行SQL语句的对象 * ==>通过Connection的createStatement()方法来获取 == ...

  7. Java_jdbc 基础笔记之十五 数据库连接(取得数据库自动生成的主键)

    public class testGetKeyValue { /** * 取得数据库自动生成的主键 */ @Test public void testGeneratedKeys() { Connect ...

  8. Java_jdbc 基础笔记之十四 数据库连接(元数据)数据库信息及连接信息

    public class MetaDatatest { /** * DatabaseMetaData 是描述 数据库的元数据对象 可以由Connection得到 */ @Test public voi ...

  9. Java_jdbc 基础笔记之十三 数据库连接(DAO)

    public class DAO { // INSERT, UPDATE, DELETE 操作都可以包含在其中 public void update(String sql, Object... arg ...

随机推荐

  1. php在虚拟机和windows上的应用

    学习目标:linux+apache+php合在一起的应用                在windows中三者的的关联及应用 php是apache的一个外挂程序,必须依靠web服务器才可以运行.当客户 ...

  2. SpringBoot + sqlserver+mybatis

    一.maven引入 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId&g ...

  3. form组件 初始化

    class MyForm(Form): user = fields.ChoiceField( # choices=((1, '上海'), (2, '北京'),), initial=2, widget= ...

  4. 关于MySQL数据库编码修复相关问题

    本篇主要是本人在实际开发过程中遇到的MySQL字符编码等bug修复相关问题. 在使用下列语句在执行数据库表通过flask-sqlacodegen 进行ORM映射成模型类的时候发生的bug: flask ...

  5. linux系统信息获取和上报

    通过调用shell命令获取系统信息,如cpu个数,cpu/内存磁盘使用情况,网络信息等. #include <stdio.h> #include <stdlib.h> #inc ...

  6. vim 配置遇到的问题

    1 使用 Vundle 安装插件时提示输入 github 账户密码 .vimrc 中 Plugin ‘路径' 的路径填写错误,仔细检查下 2 在 vim 中执行 shell 命令(如 ls)会闪退 . ...

  7. Linux 文件监控之谁动了我的奶酪

    有时候配置文件会被莫名其妙的修改,但是找不到修改他的进程,从而无法抓住罪魁祸首,这时候就诞生了摄像头.呃呃,应该是audit 比如我要监控一个文件test.txt [root@hsun /]# aud ...

  8. c#在WinForm和WebForm中根据控件和属性名获取控件属性值

    在WinForm中开发的过程中,所有继承了Control控件,在使用多线程的时候,就需要通过一个通用的方法来设置界面上的控件的属性. delegate void DelegateSetControl( ...

  9. less-4

    首先来了解语句构造方法: 输入id=1’显示正确,输入id=1”显示错误(如下图),可以看到后面有个),说明这里跟前面less-3一样,也是用)来闭合,只不过这里从单引号变成了双引号 输入id=1”) ...

  10. OLED液晶屏幕(1)OLED液晶屏幕ssd1306驱动芯片 arduino运行 ESP8266-07可以 12f不可以

    OLED屏幕有各种形状和尺寸,但目前有两种非常受欢迎的屏幕尺寸. 1)0.96“ 2)1.3“ 他们也有2种常见的颜色 1)蓝色 2)白色 驱动OLED的芯片常用的有两种.这两种芯片有许多非常相似的设 ...