jdbc工具类1.0

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
     * */
    
}

猜你喜欢

转载自www.cnblogs.com/ZXF6/p/10644358.html
今日推荐