JDBC工具类
package com.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author Dell
* JDBC工具类
*/
public class JdbcUtils {
static String url="jdbc:mysql://localhost:3306/jdbc";
static String user="root";
static String password="1";
// 单例模式
private JdbcUtils(){
}
static JdbcUtils ju=null;
// 双重判断是提高效率,加上同步是解决线程安全问题
public static JdbcUtils getInstance(){
if (ju==null) {
synchronized (JdbcUtils.class) {
if (ju == null) {
ju = new JdbcUtils();
}
}
}
return ju;
}
// 静态代码块加载驱动
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 获取连接
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, user, password);
}
// 关闭资源的方法
public static void free(ResultSet r,Statement s,Connection c){
try {
if (r != null) {
r.close();
}
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
if (s != null) {
s.close();
}
} catch (Exception e2) {
// TODO: handle exception
}finally{
if (c!=null) {
try {
c.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
JDBC连接数据库
package com.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcExam {
public static void main(String[] args) {
}
public void connDb() {
Connection c = null;
Statement s = null;
ResultSet r = null;
try {
c = JdbcUtils.getConnection();
s = c.createStatement();
r = s.executeQuery("select * from user");
while (r.next()) {
System.out.println(r.getObject(1) + "\t" + r.getObject(2)
+ "\t" + r.getObject(3) + "\t" + r.getObject(4) + "\t");
}
} catch (Exception e) {
// TODO: handle exception
}
JdbcUtils.free(r, s, c);
}
}