Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从语句创建PreparedStatement?_Java_Mysql_Prepared Statement - Fatal编程技术网

Java 从语句创建PreparedStatement?

Java 从语句创建PreparedStatement?,java,mysql,prepared-statement,Java,Mysql,Prepared Statement,这听起来有点奇怪,但我想创建一个PreparedStatement 在我有一个语句之后。这是因为我的项目几乎是50%,直到现在 我使用了一个语句 在我的数据库类中,每当我需要使用mysql服务器时,我都有一个连接到mysql的构造函数: public class Database { private Statement m_statement = null; private Connection m_connection = null; private Prepared

这听起来有点奇怪,但我想创建一个
PreparedStatement

在我有一个
语句之后
。这是因为我的项目几乎是50%,直到现在 我使用了一个
语句

在我的数据库类中,每当我需要使用mysql服务器时,我都有一个连接到mysql的构造函数:

public class Database 
{
    private Statement m_statement = null;
    private Connection m_connection = null;
    private PreparedStatement m_prepared = null;  // that one was added just now 

    private static final String ACCOUNTS_TABLE = "CheckingAccountsTable";
    private static final String PERSONNEL_TABLE = "PersonnelTable";
    // private static final String 


    public Database() throws ClassNotFoundException
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            this.m_connection = DriverManager.getConnection("jdbc:mysql://localhost","root","root");
            this.m_statement = this.m_connection.createStatement();

        }

        catch (SQLException s)
        {
            System.out.println("SQL statement is not executed! 2!");
        }

    }


}




// from here I have something like 20 methods that are based on the Statement
改变一切都需要很多我没有的时间。所以,我的问题是:

我可以使用我用
PreparedStatement
创建的语句吗?或者基于
语句创建
PreparedStatement


谢谢

这是不可能的<代码>语句
PreparedStatement
代表不同的事物

  • 语句
    用于调用不同的SQL查询,您可以创建一个
    语句
    实例,而不知道要使用什么SQL查询
  • PreparedStatement
    在创建SQL查询时被提供,如果可能,驱动程序会尝试预编译该查询。您可以填写不同的参数并重复使用,但不能更改查询,它始终使用创建时给定的参数
因此,我担心您将不得不重构代码,没有简单的方法可以在这两者之间切换


在大多数情况下,最好使用
PreparedStatement
,因为它允许您以安全的方式将参数传递给SQL查询,而不会产生风险。

使用PreparedStatement创建的语句?什么意思?