自定义JDBC工具类
步:创建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三个对象。