package cn.zhouzhou; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 一、jdbc工具类 * 1.是啥? * 在增删改查的时候 ,发现很多代码都是重复的。为了简化代码,将其封装成一个类 * 方便使用! * * 2.怎么写? * 1. 创建私有的属性(连接数据库必要的四个变量):dreiver url user password 2. 将构造函数私有化 3.将注册驱动写入静态代码块,可以直接被调用。 4.外界只能通过调用本工具的静态方法 getConnectio() 获取数据库连接,让调用者处理异常(抛出异常) 5. 资源关闭 也采用静态方法调用 升级版【使用 properties 配置文件进行数据库连接配置】 * * 3..怎么用? */ public class Jdbc工具类 { private static String driver="com.mysql.jdbc.Driver"; //1.创建私有属性 4个 private static String url="jdbc:mysql://localhost:3306/qy66"; private static String use="root"; private static String password="root"; private Jdbc工具类(){ //2.将构造函数私有化 如果将构造方法藏起来,则外部肯定无法直接调用,就肯定不能用new关键字调用构造方法实例。 } static{ //3.将注册驱动 写入静态代码块 try { Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException{ //4.获取connection? return DriverManager.getConnection(url, use, password); } public static void close(Connection con,Statement start,ResultSet rs){ //5.释放资源? if (rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (start!=null) { try { start.close(); } catch (SQLException e) { e.printStackTrace(); } } if (con!=null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
测试的效果
package cn.zhouzhou; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 测试?执行写的工具类? * */ public class Text01 { public static void main(String[] args) throws SQLException { Connection con=Jdbc工具类.getConnection(); //1.注册 String string="select * from shop"; //2.查询 PreparedStatement start=con.prepareStatement(string); //3.设置 执行语句 ResultSet rs=con.prepareStatement(string).executeQuery(); while (rs.next()) { System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getDouble(3)); } Jdbc工具类.close(con, start, rs); //4.关闭资源 } /* * 输出结果! 我把小数点删除了 为的是增强观看效果! 2 打牌支出 200 3 衣服支出 100 4 工资收入 200 5 商品收入 200 6 张三 2000 7 工资收入 100000 * */ }
原文地址:https://www.cnblogs.com/ZXF6/p/10644358.html
时间: 2024-11-08 03:23:13