日期:2014-05-17  浏览次数:20858 次

请教:获取连接mysql数据库Connection是new 还是用单例?
如下代码
package dao;

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

public class MySQLHelper {


public MySQLHelper() {}


/**
 * 
 * @return Connection
 */
public Connection getMySqlConnection() {
Connection conn = null;
String strDriverName="com.mysql.jdbc.Driver";//
String strUserName="xiaowei";//
String strUserPasswd="123456";
String strDbName="db_prj";//

String strUrl = "jdbc:MySQL://localhost/" + strDbName;//

try {
//
Class.forName(strDriverName).newInstance();
conn = DriverManager.getConnection(strUrl, strUserName, strUserPasswd);
} catch(Exception e) {
e.printStackTrace();
}
return conn;
}
}

项目中涉及到dao的Connection都通过这个类获取,那请教大家一个问题,我每次操作数据时,是new一个MySQLHelper 来 getMySqlConnection()呢还是把该类改为单例,通过单实例getMySqlConnection()呢?

------解决方案--------------------
单例会线程冲突的,select没问题,遇到事务处理就会冲突了。
为什么不用连接池呢
------解决方案--------------------
java具有垃圾回收机制的,不用的对象自动就释放掉了。。
不用非得单例把。。