单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例,可以节约开销,提高系统性能。
单例模式的实现1.构造方法私有化2.内部提供公有的方法返回实例化的类
github下载地址https://github.com/gukunpja/signle.git
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 单例模式数据库连接
*
* @author gxk
*
*/
public class JdbcSignle {
private String url = "jdbc:mysql://localhost:3306/user";
private String user = "root";
private String pwd = "guxinkai";
private static JdbcSignle Singleton;
Statement stmt = null;
Connection conn = null;
private JdbcSignle() {}
public static JdbcSignle getInstance() {
if (Singleton == null) {
Singleton = new JdbcSignle();
}
return Singleton;
}
public void getConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, pwd);
String sql = "insert into user values (1,'顾新凯')";
stmt = conn.createStatement();
int rs = stmt.executeUpdate(sql);
System.out.println(rs);
}
public void closeConnection() throws Exception {
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
import org.junit.Test;
public class JdbcSignleTest {
@Test
public void testJdbcSignle() throws Exception {
JdbcSignle Singleton = JdbcSignle.getInstance();
Singleton.getConnection();
Singleton.closeConnection();
}
}