Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.apache.commons.dbcp2.BasicDataSource;
- import org.apache.commons.dbutils.QueryRunner;
- import org.apache.commons.dbutils.ResultSetHandler;
- import org.apache.commons.dbutils.handlers.ArrayListHandler;
- import javax.sql.DataSource;
- import java.sql.*;
- import java.util.List;
- public class DbUtils {
- // this class is my modification of Apache DbUtils
- private String driver;
- private String user;
- private String password;
- private String db;
- private String host;
- private String url;
- public DataSource ds;
- private QueryRunner qr;
- private ResultSetHandler<List<Object[]>> rsh = new ArrayListHandler();
- public DbUtils(String host, String db,
- String driver, String user, String password) {
- this.driver = driver;
- this.user = user;
- this.password = password;
- this.db = db;
- this.host = host;
- this.url = host + db;
- ds = createDataSource();
- qr = new QueryRunner(ds);
- }
- private DataSource createDataSource() {
- BasicDataSource d = new BasicDataSource();
- d.setDriverClassName(driver);
- d.setUsername(user);
- d.setPassword(password);
- d.setUrl(url);
- return d;
- }
- public List<Object[]> select(String sql, Object... args) {
- // This function is used for selecting from database
- // It returns resultList - list of entries (rows). Each entry is an Object []
- // for example, if entry consists of id, username, product, then id is Object[0], username - Object[1], etc.
- // String sql is a query, e.g: "select id, username from mytable where id = ?"
- // args are values that replace ? in a query (just like PreparedStatement)
- List<Object[]> resultList = null;
- try {
- resultList = qr.query(sql, rsh, args);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return resultList;
- }
- public void printResultSet(List<Object[]> resultList) {
- // output this complicated List<Object[]>
- for (Object[] ob : resultList) {
- for (Object obj : ob) {
- System.out.print(obj);
- System.out.print(' ');
- }
- System.out.println();
- }
- }
- public int query(String sql, Object... args) {
- // result indicates, how manu rows affected by this operation
- // String sql is a query ( insert, update or delete )
- // args replace ? in String sql (just like PreparedStatement)
- int result = 0;
- try {
- result = qr.update(sql, args);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement