Java教程

Java Statement一次执行多条sql语句

本文主要是介绍Java Statement一次执行多条sql语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

网上的代码基本上没有问题,不过会存在一点瑕疵没有说清楚,导致试验了很久才成功,现在总结需要如下:

1.我们看了statement的execute文档,是可以进行多个语句执行的,文档内容如下:

在这里插入图片描述

2.除了执行execute方法之外,我们还需要在连接jdbc的时候增加allowMultiQueries=true的属性

3.代码如下:

public class Test {
    public static void main(String[] args){
        try {
            test1();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void test1() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool?characterEncoding=utf-8&allowMultiQueries=true", "root", "1234");
        Statement statement = conn.createStatement();
        String no = "abc';select * from student where '1' = '1";
        String sql = "select * from student where studentno = '"+no+"'";
        boolean b = statement.execute(sql);
        while(true){
            if(b){
                System.out.println("第一句");
            }else{
                if(statement.getUpdateCount() != -1){
                    System.out.println("第二局");
                }else{
                    break;
                }
            }
            b = statement.getMoreResults();
        }
        conn.close();
    }
}



这篇关于Java Statement一次执行多条sql语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!