Java数据库最小化连接创建

我是Java的初学者和我的一个任务.我必须做数据库操作.我有这个Java代码用于将数据插入数据库,它工作正常.

public class JavaDBWork
{

  public static void main(String[] args)
  {
    try
    {
      // create a MysqL database connection
      String myDriver = "org.gjt.mm.MysqL.Driver";
      String myUrl = "jdbc:MysqL://localhost/test";
      Class.forName(myDriver);
      Connection conn = DriverManager.getConnection(myUrl, "root", "");

      // create a sql date object so we can use it in our INSERT statement
      Calendar calendar = Calendar.getInstance();
      java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());

      // the MysqL insert statement
      String query = " insert into users (first_name, last_name, date_created, is_admin, num_points)"
        + " values (?, ?, ?, ?, ?)";

    //Other Code
}

我的问题是每次代码运行时,我的代码都必须创建一个数据库连接和准备好的语句对象,据我所知,这是一个代价高昂的操作.

有什么方法可以保持与数据库的单一连接并使用它来执行我的数据库工作?

解决方法:

您可以像这样使用设计模式Singleton Connection:

1-创建一个类SingletonConnection.java看起来像这样:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.sqlException;
import java.util.EmptyStackException;

public class SingletonConnection   {


    private static Connection connection = null ;
    static 
    {
        try{
            Class.forName("com.MysqL.jdbc.Driver");
            connection = DriverManager.getConnection
                    ("jdbc:MysqL://localhost:3306/gestion_comptes","root","");
        }catch(Exception ex)
        {

        }

    }
    public static Connection getConnection() throws Exception {
        return connection;
    }


}

而在你的其他类中称之为:

 public  class DaoImpl{

        public Connection connection = SingletonConnection.getConnection();

        public DaoImpl() throws Exception 
        {
            if(connection==null)
                throw new Exception("impossible de se connecter à la base de données");
        }
}

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...