步:创建JDBC工具类
package lo.utils;
import java.sql.*;
import java.util.UUID;
/**
* JDBC 工具类
* @author pengYi
*
*/
public class JDBCUtils{
public static Connection connection = null;
public static PreparedStatement preparedStatement = null;
public static ResultSet resultSet = null;
/**
* 连接数据库
* @return
*/
public static Connection getConnection(){
String url = "jdbc:mysql://localhost:3306/chartroom";
String user = "root";
String password = "root";
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return connection;
}
/**
* 关闭资源
*/
public static void close(){
try{
if(connection != null){
connection = null;
connection.close();
}
if(preparedStatement != null){
preparedStatement = null;
preparedStatement.close();
}
if(resultSet!= null){
resultSet = null;
resultSet.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
第二步:工具类的使用
package lo.utils;
import java.sql.SQLException;
import java.util.UUID;
public class Dao extends JDBCUtils{
public void insert(String string, String string2, String string3) {
JDBCUtils.getConnection();
String sql="insert into user value(?,?,?,?)";
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, UUID.randomUUID().toString().replace("-",""));
preparedStatement.setString(2, string);
preparedStatement.setString(3, string2);
preparedStatement.setString(4, string3);
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
JDBCUtils.close();
}
}
总结分析:
1.采用继承的方式使用工具类。
2.在工具类中将需要重复用到的代码写在一个方法里面。
3.Connection、prepareStatement、ResultSet 三个对象定义成 静态共有方便是为了方法去用,就不用每个dao里面都new三个对象。