Advertisement
Guest User

My DbUtils Class based on Apache Commons DbUtils

a guest
Nov 12th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. import org.apache.commons.dbcp2.BasicDataSource;
  2. import org.apache.commons.dbutils.QueryRunner;
  3. import org.apache.commons.dbutils.ResultSetHandler;
  4. import org.apache.commons.dbutils.handlers.ArrayListHandler;
  5. import javax.sql.DataSource;
  6. import java.sql.*;
  7. import java.util.List;
  8.  
  9. public class DbUtils {
  10. // this class is my modification of Apache DbUtils
  11.  
  12.     private String driver;
  13.     private String user;
  14.     private String password;
  15.     private String db;
  16.     private String host;
  17.     private String url;
  18.  
  19.     public DataSource ds;
  20.     private QueryRunner qr;
  21.     private ResultSetHandler<List<Object[]>> rsh = new ArrayListHandler();
  22.  
  23.     public DbUtils(String host, String db,
  24.                    String driver, String user, String password) {
  25.         this.driver = driver;
  26.         this.user = user;
  27.         this.password = password;
  28.         this.db = db;
  29.         this.host = host;
  30.         this.url = host + db;
  31.         ds = createDataSource();
  32.         qr = new QueryRunner(ds);
  33.     }
  34.  
  35.     private DataSource createDataSource() {
  36.         BasicDataSource d = new BasicDataSource();
  37.         d.setDriverClassName(driver);
  38.         d.setUsername(user);
  39.         d.setPassword(password);
  40.         d.setUrl(url);
  41.         return d;
  42.     }
  43.  
  44.     public List<Object[]> select(String sql, Object... args) {
  45.     // This function is used for selecting from database
  46.         // It returns resultList - list of entries (rows). Each entry is an Object []
  47.         // for example, if entry consists of id, username, product, then id is Object[0], username - Object[1], etc.
  48.         // String sql is a query, e.g: "select id, username from mytable where id = ?"
  49.         // args are values that replace ? in a query (just like PreparedStatement)
  50.         List<Object[]> resultList = null;
  51.         try {
  52.             resultList = qr.query(sql, rsh, args);
  53.         } catch (SQLException e) {
  54.             e.printStackTrace();
  55.         }
  56.         return resultList;
  57.     }
  58.  
  59.     public void printResultSet(List<Object[]> resultList) {
  60.         // output this complicated List<Object[]>
  61.         for (Object[] ob : resultList) {
  62.             for (Object obj : ob) {
  63.                 System.out.print(obj);
  64.                 System.out.print(' ');
  65.             }
  66.             System.out.println();
  67.         }
  68.     }
  69.  
  70.     public int query(String sql, Object... args) {
  71.         // result indicates, how manu rows affected by this operation
  72.         // String sql is a query ( insert, update or delete )
  73.         // args replace ? in String sql (just like PreparedStatement)
  74.         int result = 0;
  75.         try {
  76.             result = qr.update(sql, args);
  77.         } catch (SQLException e) {
  78.             e.printStackTrace();
  79.         }
  80.         return result;
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement