Javaweb14——JDBC04预编译

原始批处理添加:

package com.jdbc.test;

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

public class 原始批处理添加 {
    /**
     * 问题:
     *  1SQL命令书写麻烦 采用字符串拼接的方式 繁琐
     *  2浪费时间 接通工具很累!
     * */
    public static void main(String[] args) throws Exception{
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
        //1注册
        Class.forName("com.mysql.jdbc.Driver");
        //2建立通道
        Connection con = DriverManager.getConnection(url,"root","douqiyuan");
        //3建立交通工具
        PreparedStatement ps= con.prepareStatement("");
        //向MySQL服务器中推送100条数据
        for(int i = 0;i <100;i++) {
            String sql = "insert into test2(deptno,dname,loc) values("+i+",'dept_"+i+"','HZ') ";
            ps.executeUpdate(sql);
        }
        if(ps != null) {
            ps.close();
        }
        if(con != null) {
            con.close();
        }
    }
}

预编译实现批处理:

package com.jdbc.test;

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

public class 预编译实现批处理 {
    public static void main(String[] args) throws Exception{
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
        /**预编译形式SQL命令
         * ?是占位符 一个问号代表一个值 相当于一个模具
         * * */
        String sql = "insert into test2(deptno,dname,loc) values(?,?,?)";

        //1注册
        Class.forName("com.mysql.jdbc.Driver");
        //2建立通道
        Connection con = DriverManager.getConnection(url,"root","douqiyuan");
        /**
         * 3建立交通工具时 将预编译的SQL命令注册到PreparedStatement
         * */
        PreparedStatement ps= con.prepareStatement(sql);
        //推送100条数据
        for(int i =1;i <= 100;i++) {
            ps.setInt(1,i);
            ps.setString(2,"dept_"+i);
            ps.setString(3,"杭州");
            //在新的SQL语句生成后 将SQL子句作为子弹添加到ps的弹夹中
            ps.addBatch();
        }
        //5一次性通过ps将一百条SQL语句推送到MySQL服务器上执行
        ps.executeBatch();

        if(ps != null) {
            ps.close();
        }
        if(con != null) {
            con.close();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值