• 自定义框架


    public class JDBC {

      private static Connection conn=null;
        static{
          try {
            Class.forName("com.mysql.jdbc.Driver");
          } catch (ClassNotFoundException e) {
            e.printStackTrace();
          }
        }
      public Connection getConnection(){
        try {
          conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/calendar","root","root");
        } catch (SQLException e) {
          e.printStackTrace();
        }
          return conn;
        }
      public void closeConn(Connection conn,PreparedStatement ps,ResultSet rs){
        try {
          if(rs!=null){
            rs.close();
            rs=null;
          }
          if(ps!=null){
            ps.close();
            ps=null;
          }
          if(conn!=null){
            conn.close();
            conn=null;
          }
          } catch (SQLException e) {
            e.printStackTrace();
          }
      }

      //查询方法返回对象集合
      public <T>List<T> qeury(String sql,List<Object> lp,Class clazz){
        List<T> list=new ArrayList<>();
        Connection conn=getConnection();
        PreparedStatement ps=null;
        ResultSet rs=null;
        if(conn!=null){
          try {
            ps=conn.prepareStatement(sql);
            if(lp.size()>0){
              for(int i=0;i<lp.size();i++){
                ps.setObject(i+1, lp.get(i));
              }
            }
            rs=ps.executeQuery();
            while(rs.next()){
              Object obj=clazz.newInstance();
              ResultSetMetaData rm=rs.getMetaData();
              int num=rm.getColumnCount();
              if(num>0){
                for(int i=1;i<=num;i++){
                  String name=rm.getColumnName(i);
                  Field f=clazz.getDeclaredField(name);
                  f.setAccessible(true);
                  Object o=rs.getObject(i);
                  f.set(obj, o);
                }
              }
              list.add((T) obj);
            }
          } catch (SQLException e) {
            e.printStackTrace();
          } catch (InstantiationException e) {
            e.printStackTrace();
          } catch (IllegalAccessException e) {
            e.printStackTrace();
          } catch (NoSuchFieldException e) {
            e.printStackTrace();
          } catch (SecurityException e) {
            e.printStackTrace();
          }finally{
            closeConn(conn, ps, rs);
          }
        }
        return list;
      }

      //更新方法(增、删、改)返回布尔类型
      public boolean update(String sql,List<Object> lp){
        boolean isFlag=false;
        Connection conn=getConnection();
        PreparedStatement ps=null;
        ResultSet rs=null;
        if(conn!=null){
          try {
            ps=conn.prepareStatement(sql);
            if(lp.size()>0){
              for(int i=0;i<lp.size();i++){
                ps.setObject(i+1, lp.get(i));
              }
            }
            int num=ps.executeUpdate();
            if(num>0){
              isFlag=true;
            }
          } catch (SQLException e) {
            e.printStackTrace();
          } catch (SecurityException e) {
            e.printStackTrace();
          }finally{
            closeConn(conn, ps, rs);
          }
        }
        return isFlag;
      }
    }

    2019-03-13

  • 相关阅读:
    Interesting Finds: 2009 01.15 ~ 01.17
    Interesting Finds: 2008.12.07
    Interesting Finds: 2008.12.31
    10月16号
    10月14号
    10月15号
    10月13号
    10月20号
    10月19号
    10月12号
  • 原文地址:https://www.cnblogs.com/li19941999/p/10520574.html
Copyright © 2020-2023  润新知