From 609cc71794045f9215d00e95a2c295de0e08255f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=AA=E5=B1=B1=E9=A3=9E=E9=B9=84?= Date: Sun, 13 Jul 2014 23:03:27 +0800 Subject: [PATCH] commons-dbutils-tutorial --- commons-dbutils-tutorial/README.md | 18 ++++ commons-dbutils-tutorial/pom.xml | 68 +++++++++++++ .../datasource/tutorial/BoneCPDataSource.java | 74 ++++++++++++++ .../datasource/tutorial/C3P0DataSource.java | 60 ++++++++++++ .../datasource/tutorial/DBCPDataSource.java | 60 ++++++++++++ .../tutorial/ArrayListHandlerExample.java | 38 ++++++++ .../employee/tutorial/BeanHandlerExample.java | 39 ++++++++ .../tutorial/BeanListHandlerExample.java | 40 ++++++++ .../tutorial/DBUtilsDataSourceExample.java | 96 +++++++++++++++++++ .../tutorial/DBUtilsInsertUpdateExample.java | 42 ++++++++ .../dbutils/employee/tutorial/Employee.java | 25 +++++ .../tutorial/MapListHandlerExample.java | 37 +++++++ .../tutorial/ResultSetHandlerExample.java | 55 +++++++++++ .../user/tutorial/DbUtilsBeanHandler.java | 41 ++++++++ .../user/tutorial/DbUtilsBeanListHandler.java | 41 ++++++++ .../user/tutorial/DbUtilsMapListHandler.java | 39 ++++++++ .../dbutils/user/tutorial/DbUtilsTest1.java | 44 +++++++++ .../dbutils/user/tutorial/DbUtilsTest2.java | 49 ++++++++++ .../commons/dbutils/user/tutorial/User.java | 52 ++++++++++ .../src/main/resources/employee.sql | 8 ++ .../src/main/resources/user.sql | 14 +++ flex-todolist-example/pom.xml | 30 +++++- pom.xml | 42 ++++---- 23 files changed, 990 insertions(+), 22 deletions(-) create mode 100644 commons-dbutils-tutorial/README.md create mode 100644 commons-dbutils-tutorial/pom.xml create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/BoneCPDataSource.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/C3P0DataSource.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/DBCPDataSource.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ArrayListHandlerExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanHandlerExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanListHandlerExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsDataSourceExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsInsertUpdateExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/Employee.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/MapListHandlerExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ResultSetHandlerExample.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanHandler.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanListHandler.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsMapListHandler.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest1.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest2.java create mode 100644 commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/User.java create mode 100644 commons-dbutils-tutorial/src/main/resources/employee.sql create mode 100644 commons-dbutils-tutorial/src/main/resources/user.sql diff --git a/commons-dbutils-tutorial/README.md b/commons-dbutils-tutorial/README.md new file mode 100644 index 0000000..9b955ba --- /dev/null +++ b/commons-dbutils-tutorial/README.md @@ -0,0 +1,18 @@ +# commons-dbutils-tutorial + +* BeanHandler + +* BeanListHandler + +* MapListHandler + +* ResultSetHandler + +* ArrayListHandler + +* DataSource + + +[http://www.javatips.net/blog/2014/03/apache-dbutils-tutorial](http://www.javatips.net/blog/2014/03/apache-dbutils-tutorial) + +[http://www.codesuggestions.com/java/apache-commons-dbutils-tutorial/](http://www.codesuggestions.com/java/apache-commons-dbutils-tutorial/) diff --git a/commons-dbutils-tutorial/pom.xml b/commons-dbutils-tutorial/pom.xml new file mode 100644 index 0000000..3388237 --- /dev/null +++ b/commons-dbutils-tutorial/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + net.aimeizi + maven-framework-project + 1.0.0 + + commons-dbutils-tutorial + commons-dbutils-tutorial + http://maven.apache.org + + UTF-8 + + + + + commons-dbutils + commons-dbutils + 1.5 + + + + com.h2database + h2 + 1.4.179 + + + + commons-dbcp + commons-dbcp + 1.4 + + + + commons-pool + commons-pool + 1.6 + + + + c3p0 + c3p0 + 0.9.1.1 + + + + com.mchange + mchange-commons-java + 0.2.7 + + + + com.jolbox + bonecp + 0.8.0.RELEASE + + + + mysql + mysql-connector-java + 5.1.31 + + + + diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/BoneCPDataSource.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/BoneCPDataSource.java new file mode 100644 index 0000000..80009c2 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/BoneCPDataSource.java @@ -0,0 +1,74 @@ +package org.commons.dbutils.datasource.tutorial; + +import java.beans.PropertyVetoException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import com.jolbox.bonecp.BoneCP; +import com.jolbox.bonecp.BoneCPConfig; + +public class BoneCPDataSource { + + private DataSource dataSource; + + private static BoneCPDataSource boneCPDataSource; + + private BoneCP connectionPool; + + private BoneCPDataSource() throws IOException, SQLException, + PropertyVetoException { + try { + // load the database driver (make sure this is in your classpath!) + Class.forName("org.h2.Driver"); + } catch (Exception e) { + e.printStackTrace(); + return; + } + + try { + // setup the connection pool using BoneCP Configuration + BoneCPConfig config = new BoneCPConfig(); + // jdbc url specific to your database, eg + // jdbc:mysql://127.0.0.1/yourdb + config.setJdbcUrl("jdbc:h2:./target/test;AUTO_SERVER=TRUE"); + config.setUsername("sa"); + config.setPassword(""); + config.setMinConnectionsPerPartition(5); + config.setMaxConnectionsPerPartition(10); + config.setPartitionCount(1); + // setup the connection pool + connectionPool = new BoneCP(config); + + } catch (Exception e) { + e.printStackTrace(); + return; + } + + } + + public static BoneCPDataSource getInstance() throws IOException, + SQLException, PropertyVetoException { + if (boneCPDataSource == null) { + boneCPDataSource = new BoneCPDataSource(); + return boneCPDataSource; + } else { + return boneCPDataSource; + } + } + + public Connection getConnection() throws SQLException { + return this.connectionPool.getConnection(); + } + + public DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } + +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/C3P0DataSource.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/C3P0DataSource.java new file mode 100644 index 0000000..ce64c9a --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/C3P0DataSource.java @@ -0,0 +1,60 @@ +package org.commons.dbutils.datasource.tutorial; + +import java.beans.PropertyVetoException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import com.mchange.v2.c3p0.ComboPooledDataSource; + +public class C3P0DataSource { + + private DataSource dataSource; + + private static C3P0DataSource c3p0DataSource; + + private ComboPooledDataSource cpds; + + private C3P0DataSource() throws IOException, SQLException, + PropertyVetoException { + cpds = new ComboPooledDataSource(); + cpds.setDriverClass("org.h2.Driver"); // loads the jdbc driver + cpds.setJdbcUrl("jdbc:h2:./target/test;AUTO_SERVER=TRUE"); + cpds.setUser("sa"); + cpds.setPassword(""); + + // the settings below are optional -- c3p0 can work with defaults + cpds.setMinPoolSize(5); + cpds.setAcquireIncrement(5); + cpds.setMaxPoolSize(20); + cpds.setMaxStatements(180); + + this.setDataSource(cpds); + + } + + public static C3P0DataSource getInstance() throws IOException, + SQLException, PropertyVetoException { + if (c3p0DataSource == null) { + c3p0DataSource = new C3P0DataSource(); + return c3p0DataSource; + } else { + return c3p0DataSource; + } + } + + public Connection getConnection() throws SQLException { + return this.cpds.getConnection(); + } + + public DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } + +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/DBCPDataSource.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/DBCPDataSource.java new file mode 100644 index 0000000..4a0acd8 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/datasource/tutorial/DBCPDataSource.java @@ -0,0 +1,60 @@ +package org.commons.dbutils.datasource.tutorial; + +import java.beans.PropertyVetoException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import org.apache.commons.dbcp.BasicDataSource; + +public class DBCPDataSource { + + private DataSource dataSource; + + private static DBCPDataSource dbcpDataSource; + + private BasicDataSource ds; + + private DBCPDataSource() throws IOException, SQLException, + PropertyVetoException { + + ds = new BasicDataSource(); + ds.setDriverClassName("org.h2.Driver"); + ds.setUsername("sa"); + ds.setPassword(""); + ds.setUrl("jdbc:h2:./target/test;AUTO_SERVER=TRUE"); + + // the settings below are optional -- dbcp can work with defaults + ds.setMinIdle(5); + ds.setMaxIdle(20); + ds.setMaxOpenPreparedStatements(180); + + this.setDataSource(ds); + + } + + public static DBCPDataSource getInstance() throws IOException, + SQLException, PropertyVetoException { + if (dbcpDataSource == null) { + dbcpDataSource = new DBCPDataSource(); + return dbcpDataSource; + } else { + return dbcpDataSource; + } + } + + public DataSource getDataSource() { + return this.dataSource; + } + + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } + + public Connection getConnection() throws SQLException { + return this.ds.getConnection(); + } + +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ArrayListHandlerExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ArrayListHandlerExample.java new file mode 100644 index 0000000..484e9ef --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ArrayListHandlerExample.java @@ -0,0 +1,38 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.ArrayListHandler; + +public class ArrayListHandlerExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + + try { + List query = run.query(conn, "SELECT * FROM employee", + new ArrayListHandler()); + for (Object[] objects : query) { + System.out.println(Arrays.toString(objects)); + } + } finally { + DbUtils.close(conn); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanHandlerExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanHandlerExample.java new file mode 100644 index 0000000..eb47692 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanHandlerExample.java @@ -0,0 +1,39 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.ResultSetHandler; +import org.apache.commons.dbutils.handlers.BeanHandler; + +public class BeanHandlerExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + ResultSetHandler resultHandler = new BeanHandler( + Employee.class); + + try { + Employee emp = run.query(conn, + "SELECT * FROM employee WHERE employeename=?", + resultHandler, "Jose"); + System.out.println(emp.getEmployeeId()); + } finally { + DbUtils.close(conn); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanListHandlerExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanListHandlerExample.java new file mode 100644 index 0000000..9cb28f2 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/BeanListHandlerExample.java @@ -0,0 +1,40 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.List; + +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.ResultSetHandler; +import org.apache.commons.dbutils.handlers.BeanListHandler; + +public class BeanListHandlerExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + ResultSetHandler> resultListHandler = new BeanListHandler( + Employee.class); + + try { + List empList = run.query(conn, "SELECT * FROM employee", + resultListHandler); + System.out.println(empList); + } finally { + DbUtils.close(conn); + } + + } +} \ No newline at end of file diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsDataSourceExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsDataSourceExample.java new file mode 100644 index 0000000..c954432 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsDataSourceExample.java @@ -0,0 +1,96 @@ +package org.commons.dbutils.employee.tutorial; + +import java.beans.PropertyVetoException; +import java.io.IOException; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.ResultSetHandler; +import org.apache.commons.dbutils.handlers.ArrayListHandler; +import org.apache.commons.dbutils.handlers.BeanHandler; +import org.apache.commons.dbutils.handlers.BeanListHandler; +import org.apache.commons.dbutils.handlers.MapListHandler; +import org.commons.dbutils.datasource.tutorial.DBCPDataSource; + +public class DBUtilsDataSourceExample { + + public static void main(String[] args) throws SQLException, IOException, + PropertyVetoException { + + QueryRunner run = new QueryRunner(DBCPDataSource.getInstance() + .getDataSource()); + + // ----------------------------------------------------------------------------------- + ResultSetHandler resultHandler = new BeanHandler( + Employee.class); + ResultSetHandler> resultListHandler = new BeanListHandler( + Employee.class); + + Employee emp = run.query("SELECT * FROM employee WHERE employeename=?", + resultHandler, "Jose"); + System.out.println(emp.getEmployeeId()); + // ----------------------------------------------------------------------------------- + + List empList = run.query("SELECT * FROM employee", + resultListHandler); + System.out.println(empList); + // ----------------------------------------------------------------------------------- + + List> maps = run.query("SELECT * FROM employee", + new MapListHandler()); + System.out.println(maps); + // ----------------------------------------------------------------------------------- + + List query = run.query("SELECT * FROM employee", + new ArrayListHandler()); + for (Object[] objects : query) { + System.out.println(Arrays.toString(objects)); + } + // ----------------------------------------------------------------------------------- + + ResultSetHandler handler = new ResultSetHandler() { + public Object[] handle(ResultSet rs) throws SQLException { + if (!rs.next()) { + return null; + } + ResultSetMetaData meta = rs.getMetaData(); + int cols = meta.getColumnCount(); + Object[] result = new Object[cols]; + + for (int i = 0; i < cols; i++) { + result[i] = rs.getObject(i + 1); + } + return result; + } + }; + + Object[] result = run.query( + "SELECT * FROM employee WHERE employeename=?", handler, "Jose"); + System.out.println(Arrays.toString(result)); + + // ----------------------------------------------------------------------------------- + + try { + // Execute the SQL update statement and return the number of + // inserts that were made + int inserts = run.update( + "INSERT INTO employee (employeename) VALUES (?)", "Arun"); + // The line before uses varargs and autoboxing to simplify the code + System.out.println("inserts " + inserts); + // Now it's time to rise to the occation... + int updates = run.update( + "UPDATE employee SET employeename=? WHERE employeeid=?", + "Simon", 1); + System.out.println("updates " + updates); + } catch (SQLException sqle) { + // Handle it + sqle.printStackTrace(); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsInsertUpdateExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsInsertUpdateExample.java new file mode 100644 index 0000000..8601960 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/DBUtilsInsertUpdateExample.java @@ -0,0 +1,42 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; + +public class DBUtilsInsertUpdateExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + + try { + // Execute the SQL update statement and return the number of + // inserts that were made + int inserts = run.update(conn, + "INSERT INTO employee (employeename) VALUES (?)", "Arun"); + // The line before uses varargs and autoboxing to simplify the code + System.out.println("inserts " + inserts); + // Now it's time to rise to the occation... + int updates = run.update(conn, + "UPDATE employee SET employeename=? WHERE employeeid=?", + "Simon", 1); + System.out.println("updates " + updates); + } catch (SQLException sqle) { + // Handle it + sqle.printStackTrace(); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/Employee.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/Employee.java new file mode 100644 index 0000000..9a877e8 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/Employee.java @@ -0,0 +1,25 @@ +package org.commons.dbutils.employee.tutorial; + +public class Employee { + + private int employeeId; + + private String employeeName; + + public int getEmployeeId() { + return employeeId; + } + + public void setEmployeeId(int employeeId) { + this.employeeId = employeeId; + } + + public String getEmployeeName() { + return employeeName; + } + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/MapListHandlerExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/MapListHandlerExample.java new file mode 100644 index 0000000..e1ebffc --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/MapListHandlerExample.java @@ -0,0 +1,37 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.MapListHandler; + +public class MapListHandlerExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + + try { + List> maps = run.query(conn, + "SELECT * FROM employee", new MapListHandler()); + System.out.println(maps); + } finally { + DbUtils.close(conn); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ResultSetHandlerExample.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ResultSetHandlerExample.java new file mode 100644 index 0000000..c4e4ea7 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/employee/tutorial/ResultSetHandlerExample.java @@ -0,0 +1,55 @@ +package org.commons.dbutils.employee.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.util.Arrays; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.ResultSetHandler; + +public class ResultSetHandlerExample { + + public static void main(String[] args) throws SQLException { + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + QueryRunner run = new QueryRunner(); + + DbUtils.loadDriver(driver); + Connection conn = DriverManager.getConnection(url, usr, pwd); + // ----------------------------------------------------------------------------------- + + ResultSetHandler handler = new ResultSetHandler() { + public Object[] handle(ResultSet rs) throws SQLException { + if (!rs.next()) { + return null; + } + ResultSetMetaData meta = rs.getMetaData(); + int cols = meta.getColumnCount(); + Object[] result = new Object[cols]; + + for (int i = 0; i < cols; i++) { + result[i] = rs.getObject(i + 1); + } + return result; + } + }; + + try { + Object[] result = run.query(conn, + "SELECT * FROM employee WHERE employeename=?", handler, + "Rockey"); + System.out.println(Arrays.toString(result)); + + } finally { // Use this helper method so we don't have to check for + DbUtils.close(conn); + } + + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanHandler.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanHandler.java new file mode 100644 index 0000000..f18a5e1 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanHandler.java @@ -0,0 +1,41 @@ +package org.commons.dbutils.user.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.BeanHandler; + +public class DbUtilsBeanHandler { + public static void main(String[] args) { + Connection conn = null; + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + User user = null; + + try { + // Loading the Driver using DbUtils static method + DbUtils.loadDriver(driver); + conn = DriverManager.getConnection(url, usr, pwd); + QueryRunner query = new QueryRunner(); + user = (User) query.query(conn, + "select * from user where userId=3", new BeanHandler( + User.class)); + + System.out.println("User Object:: " + user.getUserId() + "\t" + + user.getFirstName() + "\t" + user.getLastName() + "\t" + + user.getEmailId()); + + } catch (SQLException se) { + se.printStackTrace(); + } finally { + DbUtils.closeQuietly(conn); + } + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanListHandler.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanListHandler.java new file mode 100644 index 0000000..9d7f4b5 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsBeanListHandler.java @@ -0,0 +1,41 @@ +package org.commons.dbutils.user.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.List; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.BeanListHandler; + +public class DbUtilsBeanListHandler { + + public static void main(String[] args) { + Connection conn = null; + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + List users = null; + + try { + DbUtils.loadDriver(driver); + conn = DriverManager.getConnection(url, usr, pwd); + QueryRunner query = new QueryRunner(); + users = (List) query.query(conn, "select * from user", + new BeanListHandler(User.class)); + for (int i = 0; i < users.size(); i++) { + User bean = users.get(i); + System.out.println("User Objects:: " + bean.getUserId() + "\t" + + bean.getFirstName() + "\t" + bean.getLastName() + + "\t" + bean.getEmailId()); + } + } catch (SQLException se) { + se.printStackTrace(); + } finally { + DbUtils.closeQuietly(conn); + } + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsMapListHandler.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsMapListHandler.java new file mode 100644 index 0000000..3efe699 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsMapListHandler.java @@ -0,0 +1,39 @@ +package org.commons.dbutils.user.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.MapListHandler; + +public class DbUtilsMapListHandler { + + public static void main(String[] args) { + Connection conn = null; + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + try { + DbUtils.loadDriver(driver); + conn = DriverManager.getConnection(url, usr, pwd); + QueryRunner query = new QueryRunner(); + List> mapList = (List>) query + .query(conn, "select * from user", new MapListHandler()); + for (int i = 0; i < mapList.size(); i++) { + Map map = (Map) mapList.get(i); + System.out.println("------> " + map.get("userId") + "\t" + + map.get("firstName") + "\t" + map.get("emailId")); + } + } catch (SQLException se) { + se.printStackTrace(); + } finally { + DbUtils.closeQuietly(conn); + } + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest1.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest1.java new file mode 100644 index 0000000..b23d9e7 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest1.java @@ -0,0 +1,44 @@ +package org.commons.dbutils.user.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.handlers.BeanListHandler; + +public class DbUtilsTest1 { + public static void main(String[] args) { + Connection conn = null; + Statement stmt = null; + ResultSet rs = null; + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + List users = null; + try { + DbUtils.loadDriver(driver); + conn = DriverManager.getConnection(url, usr, pwd); + stmt = conn.createStatement(); + rs = stmt.executeQuery("SELECT * FROM user"); + BeanListHandler listHandler = new BeanListHandler( + User.class); + users = listHandler.handle(rs); + + for (User user : users) { + System.out.println("User Object:: " + user.getUserId() + "\t" + + user.getFirstName() + "\t" + user.getEmailId()); + } + + } catch (SQLException se) { + se.printStackTrace(); + } finally { + DbUtils.closeQuietly(conn); + } + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest2.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest2.java new file mode 100644 index 0000000..2bb7794 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/DbUtilsTest2.java @@ -0,0 +1,49 @@ +package org.commons.dbutils.user.tutorial; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import java.util.Map; + +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.handlers.MapListHandler; + +public class DbUtilsTest2 { + public static void main(String[] args) { + Connection conn = null; + Statement stmt = null; + ResultSet rs = null; + + final String url = "jdbc:h2:./target/test;AUTO_SERVER=TRUE"; + final String driver = "org.h2.Driver"; + final String usr = "sa"; + final String pwd = ""; + + List> userMaps = null; + try { + // Loading the Driver using DbUtils static method + DbUtils.loadDriver(driver); + conn = DriverManager.getConnection(url, usr, pwd); + stmt = conn.createStatement(); + rs = stmt.executeQuery("SELECT * FROM user"); + MapListHandler mapListHandler = new MapListHandler(); + userMaps = mapListHandler.handle(rs); + + for (Map mapObj : userMaps) { + System.out.println("User Object:: " + mapObj.get("userId") + + "\t" + mapObj.get("lastName") + "\t" + + mapObj.get("phoneNo")); + } + + } catch (SQLException se) { + se.printStackTrace(); + } finally { + // Closing the connection quietly, means it will handles the + // SQLException + DbUtils.closeQuietly(conn); + } + } +} diff --git a/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/User.java b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/User.java new file mode 100644 index 0000000..9e85515 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/java/org/commons/dbutils/user/tutorial/User.java @@ -0,0 +1,52 @@ +package org.commons.dbutils.user.tutorial; + +public class User { + private String userId; + private String firstName; + private String lastName; + private String phoneNO; + private String emailId; + + public User() { + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getPhoneNO() { + return phoneNO; + } + + public void setPhoneNO(String phoneNO) { + this.phoneNO = phoneNO; + } + + public String getEmailId() { + return emailId; + } + + public void setEmailId(String emailId) { + this.emailId = emailId; + } +} diff --git a/commons-dbutils-tutorial/src/main/resources/employee.sql b/commons-dbutils-tutorial/src/main/resources/employee.sql new file mode 100644 index 0000000..7bca6a4 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/resources/employee.sql @@ -0,0 +1,8 @@ +CREATE TABLE employee ( + employeeid bigint(20) NOT NULL AUTO_INCREMENT, + employeename varchar(255) DEFAULT NULL, + PRIMARY KEY (employeeid) +); + +insert into employee (employeeid, employeename) values('1','Rockey'); +insert into employee (employeeid, employeename) values('2','Jose'); \ No newline at end of file diff --git a/commons-dbutils-tutorial/src/main/resources/user.sql b/commons-dbutils-tutorial/src/main/resources/user.sql new file mode 100644 index 0000000..fba3179 --- /dev/null +++ b/commons-dbutils-tutorial/src/main/resources/user.sql @@ -0,0 +1,14 @@ +CREATE TABLE IF NOT EXISTS user ( + userId int(11) NOT NULL AUTO_INCREMENT, + firstName varchar(50) NOT NULL, + lastName varchar(50) NOT NULL, + phoneNo varchar(50) NOT NULL, + emailId varchar(50) NOT NULL, + PRIMARY KEY (userId) +); + +INSERT INTO user (userId, firstName, lastName, phoneNo, emailId) VALUES +(1, 'Pramod', 'Ganta', '9889885566', 'pramod@codesuggestions.com'), +(2, 'Suman', 'Manthena', '8858863456', 'suman@codesuggestions.com'), +(3, 'Prakash', 'Puli', '9889885566', 'prakash@codesuggestions.com'), +(4, 'Rohit', 'Sunkari', '8858863456', 'rohit@codesuggestions.com'); \ No newline at end of file diff --git a/flex-todolist-example/pom.xml b/flex-todolist-example/pom.xml index 2bf678a..fdc98d9 100644 --- a/flex-todolist-example/pom.xml +++ b/flex-todolist-example/pom.xml @@ -8,12 +8,40 @@ flex-todolist-example pom + flex-todolist-ria-example flex-todolist-web-example flex-todolist-config-example - + + + + sonatype-repository + http://repository.sonatype.org/content/groups/public + + true + + + false + + + + + + + sonatype-repository + http://repository.sonatype.org/content/groups/public + + true + + + false + + + + + diff --git a/pom.xml b/pom.xml index c8ef53f..9ee3dbb 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,5 @@ - + 4.0.0 net.aimeizi maven-framework-project @@ -78,7 +77,8 @@ xml-tutorials json-tutorials hibernate-tutorials - + commons-dbutils-tutorial + utf-8 @@ -134,7 +134,18 @@ false - + + + sonatype-repository + http://repository.sonatype.org/content/groups/public + + true + + + false + + + jboss jboss private nexus @@ -159,17 +170,6 @@ - - flex-mojos - http://josephj.com/lab/flex-mojos/flex-mojos-read-only/repository/ - - true - - - false - - - @@ -185,10 +185,10 @@ false - + - flex-mojos - http://josephj.com/lab/flex-mojos/flex-mojos-read-only/repository/ + sonatype-repository + http://repository.sonatype.org/content/groups/public true @@ -196,7 +196,7 @@ false - + @@ -343,7 +343,7 @@ 2.14.1 - + org.apache.maven.plugins maven-pmd-plugin @@ -382,7 +382,7 @@ 2.3 - + org.codehaus.mojo cobertura-maven-plugin