Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1134|回复: 0

[JavaEE] addBatch()用法(jdbc事务控制)

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2013-12-22 15:05:15 | 显示全部楼层 |阅读模式
    addBatch()用法
    查看文章
    PreparedStatement.addbatch()的使用
    Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用.
    1.建立链接
    Connection connection =getConnection();
    2.不自动 Commit
    connection.setAutoCommit(false);
    3.预编译SQL语句,只编译一回哦,效率高啊
    PreparedStatement statement = connection.prepareStatement(“INSERT INTO TABLEX VALUES(?, ?)”);
    //记录1
    statement.setInt(1, 1);
    statement.setString(2, “Cujo”);
    statement.addBatch();
    //记录2
    statement.setInt(1, 2);
    statement.setString(2, “Fred”);
    statement.addBatch();
    //记录3
    statement.setInt(1, 3);
    statement.setString(2, “Mark”);
    statement.addBatch();
    //批量执行上面3条语句.
    int [] counts = statement.executeBatch();
    //Commit it 到(DB)里面
    **
    已安装了microsoft 驱动程序
    jdk1.4; win2000 server; MS sql2000;
    */
    import java.sql.*;
    class sql
    {
    public static void main(String[] agrs)
    {
    Connection cn=null;
    Statement stmt=null;
    String sql=null;
    try
    {
    Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
    }
    catch(ClassNotFoundException ex)
    {
    System.out.println(“Not find the Driver!”);
    }
    try
    {
    String urls=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webroot”;//webroot 库名.TALBE 是表名;
    String user=”sa”;
    String password=”password”;
    cn= DriverManager.getConnection(urls,user,password);
    //stmt=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    stmt=cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    sql=”select top 10 * from TABLE1″;
    ResultSet rs= stmt.executeQuery(sql);
    while(rs.next())
    {
    System.out.println(rs.getString(2)+” “+rs.getString(3));
    }
    rs.first();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” 1 “+rs.getString(3));
    rs.last();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” 2 “+rs.getString(3));
    rs.previous();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” 3 “+rs.getString(3));
    rs.next();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” 4 “+rs.getString(3));
    rs.absolute(2);
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” 5 “+rs.getString(3));
    /*
    rs.afterLast();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” “+rs.getString(3));
    System.out.print(rs.isAfterLast());
    rs.beforeFirst();
    System.out.print(rs.getRow()+” “);
    System.out.println(rs.getString(2)+” “+rs.getString(3));
    */
    String sql1=”update TABLE1 set 题目=? where id=? “;
    PreparedStatement stmt1 = cn.prepareStatement(sql1);
    String stat = new String(“盛夏话足部保健”);
    String stat1 = UnicodeToGB(stat);//解决中文问题
    stmt1.setString(1,stat1);
    stmt1.setInt(2,3423);
    stmt1.executeUpdate();
    cn.commit();
    //System.out.println(stat1);
    //System.exit(0);
    //cn.setAutoCommit(false);
    stmt.addBatch(“update TABLE1 set 题目=”盛夏话足部保健1″ where id=”3407″”);
    stmt.addBatch(“update TABLE1 set 题目=”夏季预防中暑膳食1″ where id=”3408″”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“11″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“12″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“13″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“14″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“15″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“16″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“17″,”12″,”13″,”",”")”);
    stmt.addBatch(“INSERT INTO TABLE1 VALUES(“18″,”12″,”13″,”",”")”);
    int [] updateCounts=stmt.executeBatch();
    cn.commit();
    stmt.close();
    cn.close();
    }
    catch(SQLException e)
    {
    System.out.println(“The SQLException error!”);
    }
    }
    /*
    */
    public static String UnicodeToGB(String strIn){
    byte[] b;
    String strOut = null;
    if(strIn == null || (strIn.trim()).equals(“”))
    return strIn;
    try{
    b = strIn.getBytes(“GBK”);
    strOut = new String(b,”ISO8859_1″);
    }
    catch(Exception e){
    System.out.println(“unicodeToGB exception : ” + e.getMessage() + “\n”);
    }
    return strOut;
    }
    /*
    */
    }
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-17 04:15 , Processed in 0.386078 second(s), 47 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表