单例模式建立工具类
Posted xiueer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式建立工具类相关的知识,希望对你有一定的参考价值。
/*
*
*JdbcUtilsSing.java
*
* 这是一个工具类,一般工具类不能被继承,定义成final
* 不需要构造实例,用私有的构造方法
* 单例模式或者用static静态代码块,本例用单例模式
*
* */
package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class JdbcUtilsSing
private static String url = "jdbc:mysql://localhost:3306/jdbc";
private static String user = "root";
private static String password = "123456";
private static JdbcUtilsSing instance = null;
private JdbcUtilsSing()
public static JdbcUtilsSing getInstance()
if (instance == null) // 延迟加载
synchronized (JdbcUtilsSing.class) // 同步锁
if (instance == null)
instance = new JdbcUtilsSing();
return instance;
// 注册驱动
static
try
Class.forName("com.mysql.jdbc.Driver");
catch (Exception e)
throw new ExceptionInInitializerError(e);
public Connection getConnection() throws SQLException
return DriverManager.getConnection(url, user, password);
public void free(ResultSet rs, Statement st, Connection conn)
try
if (rs != null)
rs.close();
catch (SQLException e)
e.printStackTrace();
finally
try
if (st != null)
st.close();
catch (SQLException e)
e.printStackTrace();
finally
try
if (conn != null)
conn.close();
catch (SQLException e)
e.printStackTrace();
使用这个类
package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Base
public static void main(String[] args)
try
template();
catch (Exception e)
e.printStackTrace();
static void template() throws Exception
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try
// 2.建立连接
conn = JdbcUtilsSing.getInstance().getConnection();
// 3.创建语句
st = conn.createStatement();
// 4.执行语句
rs = st.executeQuery("select * from user");
// 5.处理结果
while (rs.next())
System.out.println("id:" + rs.getObject(1) + "\\tname:"
+ rs.getObject(2) + "\\tbirthday:" + rs.getObject(3)
+ "\\tmoney:" + rs.getObject(4));
// 6.释放资源
finally
JdbcUtilsSing.getInstance().free(rs,st,conn);
比起static代码的方式稍微麻烦一点
以上是关于单例模式建立工具类的主要内容,如果未能解决你的问题,请参考以下文章