Java中的预处理搬运工对象preparedStatement

SQL语句中的PreparedStatement的使用

1预处理搬运工

对数据库的增删查改,可以使用statement对象去执行sql语句,也可以使用preparedStatement对象来执行.

先区分一下两种sql语句:

静态的SQL语句: insert into work (name, age, info) values(“狗蛋”, 12, “asjj”); Statement

参数化的SQL语句: insert into work (name, age, info) values(?, ?, ?); PreparedStament

静态的sql简单是已经写死了,固定了的sql语句,而封装的sql语句是不能更改的,所以说开发往往都不用静态的.

参数化的sql语句是不固定的,用?来占用值,相当于萝卜坑,一个数据一个坑,最后组成一条数据.很灵活.
package com.qf.a_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

   public class Demo1 {
   public static void main(String[] args) throws Exception{
       //1.加载驱动
       Class.forName("com.mysql.jdbc.Driver");
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";

       Connection connection = DriverManager.getConnection(url, user, password);
       //1.创建预处理的搬运工对象
       String sql = "insert into work (name, age, info) values(?, ?, ?)";
       PreparedStatement preparedStatement = connection.prepareStatement(sql);
       //2.SQL语句已预编译并存储在PreparedStatement对象中
       //对sql语句中的?进行赋值
       //使用给定对象设置指定参数的值。
       preparedStatement.setObject(1, "张三");//对第一个?进行赋值
       preparedStatement.setObject(2, 12);//对第二个?进行赋值
       preparedStatement.setObject(3, "爱吃冰淇淋");//对第三个?进行赋值
       
       //3.执行sql语句
       int i = preparedStatement.executeUpdate();
       System.out.println(i);
       //4.关闭资源
       preparedStatement.close();
       connection.close();



    }

}


上面书写了对表的插入操作,其他操作其实也是一样的,只是查找调用的方法是executeQuery()而已.返回的是个resultSet结果集而已,打印输出即可.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值