将JDBC提取成一个公共的方法

数据库的连接是一件耗能的事情   将数据库连接做成单例模式会减少耗能

就是以一个连接对象 ,多个sql语句

public class JDBCUtil {
private static  JDBCUtil jdbcutil=new JDBCUtil();
private Connection conn=null;
private final String driverClass="com.mysql.jdbc.Driver";
private final String url="jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF8";
private final String usename="root";
private final String password="123";
private JDBCUtil() {
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


public static JDBCUtil getInstance() {
return jdbcutil;

}
public Connection getconnection() {

/*

                        单例模式

                        if(conn==null) {

try {
conn=DriverManager.getConnection(url,usename,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}*/


                //非单例模式

Connection conn=null;
try {
conn=DriverManager.getConnection(url,usename,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public void closeConn(Connection conn) {
try {
conn.close();
conn=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

-------------------------------------------------------------------------------------------------------------------------------

package JDBC;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest3 {
public static void main(String[] args) {
/*Connection conn1=JDBCUtil.getInstance().getconnection();
Connection conn2=JDBCUtil.getInstance().getconnection();
Connection conn3=JDBCUtil.getInstance().getconnection();
System.out.println(conn1==conn2);*/

Connection conn=JDBCUtil.getInstance().getconnection();
String sql="insert into test values(5,'f',50)";
try {
Statement st=conn.createStatement();
st.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtil.getInstance().closeConn(conn);
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值