DButils工具类能够用来获取数据库连接向数据库插入更新删除对象2
- package com.ctl.util;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Insets;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.io.*;
- import java.lang.reflect.*;
- import java.sql.*;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.Date;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JTextField;
- import org.apache.log4j.Category;
- /**
- * @author Administrator
- * @category
- */
- public class DButils {
- private static ThreadLocal<Connection> connHolder;
- private static String driver;
- private static String url;
- private static String username;
- private static String password;
- //\u6570\u636E\u5E93\u7C7B\u578Boracle mysql db2
- private static String databasetype;
- private static Connection conn;
- private static LogUtil log;
- private static Category logger=Category.getInstance(DButils.class);
- static {
- log = new LogUtil();
- connHolder = new ThreadLocal<Connection>();
- // if (ConfigUtils.getType("mysql.driver") == null
- // || "".equals(ConfigUtils.getType("mysql.driver").trim())
- // || ConfigUtils.getType("mysql.url") == null
- // || "".equals(ConfigUtils.getType("mysql.url").trim())
- // || ConfigUtils.getType("mysql.username") == null
- // || "".equals(ConfigUtils.getType("mysql.username").trim())
- // || ConfigUtils.getType("mysql.password") == null
- // || "".equals(ConfigUtils.getType("mysql.password").trim())) {
- // System.out.println(DButils.getCurrentDataTime() + "\u8D44\u6E90\u6587\u4EF6\u672A\u627E\u5230");
- // log.WriteLine("DButils.staic{}", "\u8D44\u6E90\u6587\u4EF6\u672A\u627E\u5230");
- // driver = RegisterUtil.getStringFromSystemRoot("mysql.driver");
- // url = RegisterUtil.getStringFromSystemRoot("mysql.url");
- // username = RegisterUtil.getStringFromSystemRoot("mysql.username");
- // password = RegisterUtil.getStringFromSystemRoot("mysql.password");
- // } else {
- // System.out.println("\u4ECE\u8D44\u6E90\u6587\u4EF6\u83B7\u53D6\u914D\u7F6E");
- // log.WriteLine("DButils.staic{}", "\u4ECE\u8D44\u6E90\u6587\u4EF6\u83B7\u53D6\u914D\u7F6E");
- // driver = ConfigUtils.getType("mysql.driver");
- // url = ConfigUtils.getType("mysql.url");
- // username = ConfigUtils.getType("mysql.username");
- // password = ConfigUtils.getType("mysql.password");
- // }
- try {
- databasetype = ConfigUtils.getType("databasetype");
- if (databasetype.equals("mysql")) {
- driver = ConfigUtils.getType("mysql.driver");
- url = ConfigUtils.getType("mysql.url");
- username = ConfigUtils.getType("mysql.username");
- password = ConfigUtils.getType("mysql.password");
- } else if (databasetype.equals("oracle")) {
- driver = ConfigUtils.getType("oracle.driver");
- url = ConfigUtils.getType("oracle.url");
- username = ConfigUtils.getType("oracle.username");
- password = ConfigUtils.getType("oracle.password");
- }
- } catch (Exception e) {
- log.WriteLine("DButils.staic{}", "\u4ECE\u8D44\u6E90\u6587\u4EF6\u4E2D\u83B7\u53D6\u6570\u636E\u5E93\u53C2\u6570\u5931\u8D25!");
- }
- try {
- Class.forName(driver);
- } catch (ClassNotFoundException e) {
- log.WriteLine("DButils.staic{}", "Class.forName(driver) error");
- }
- int isInit = RegisterUtil.getIntFromSystemRoot("isInit", 0);
- if (isInit == 1) {
- log.WriteLine("DButils.staic{}", "isInit == 1\u52A0\u8F7D\u6570\u636E\u5E93\u914D\u7F6E\u7A97\u4F53");
- init("staitc{}", databasetype);
- }
- }
- static class KeyValue {
- Object key;
- Object value;
- public Object getKey() {
- return key;
- }
- public void setKey(Object key) {
- this.key = key;
- }
- public Object getValue() {
- return value;
- }
- public void setValue(Object value) {
- this.value = value;
- }
- public KeyValue() {
- super();
- }
- public KeyValue(Object key, Object value) {
- super();
- this.key = key;
- this.value = value;
- }
- public String toString() {
- return this.key + ":" + this.value;
- }
- }
- /**
- * @category\u591A\u6761\u4EF6\u7CBE\u786E\u67E5\u8BE2 select * from person where id=1 and name='ctl'
- * @param c
- * Person.class
- * @param columns
- * \u8981\u5339\u914D\u7684\u5217\u540D
- * @param conditions
- * \u5217\u6240\u5BF9\u5E94\u7684\u503C
- */
- public static List getEntitysByColumnsAnd(Class c, String[] columns,
- Object[] conditionsValues) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitysByColumnsAnd()", tableName
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- List<String> columnList = getColumns(c);
- for (int i = 0; i < columns.length; i++) {
- if (!columnList.contains(columns[i])) {
- System.err.println("\u5217\u540D'" + columns[i] + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitysByColumnsAnd()", columns[i]
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- }
- if (columns.length != conditionsValues.length) {
- System.err.println("\u5217\u4E2A\u6570\u4E0E\u5217\u5BF9\u5E94\u7684value\u7684\u4E2A\u6570\u4E0D\u540C");
- log.WriteLine("DButils.getEntitysByColumnsAnd()",
- "\u5217\u4E2A\u6570\u4E0E\u5217\u5BF9\u5E94\u7684value\u7684\u4E2A\u6570\u4E0D\u540C! \u9000\u51FA");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName)
- .append(" where");
- for (int i = 0; i < columns.length; i++) {
- if (i < columns.length - 1) {
- sql.append(" " + columns[i]).append("=? and");
- } else {
- sql.append(" " + columns[i]).append("=?");
- }
- }
- log.WriteLine("DButils.getEntitysByColumnsAnd()", "sql:"
- + sql.toString());
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- for (int i = 0; i < columns.length; i++) {
- ps.setObject(i + 1, conditionsValues[i]);
- }
- rs = ps.executeQuery();
- log.WriteLine("DButils.getEntitysByColumnsAnd()", "sql:"
- + ps.toString().split(":")[1]);
- System.out.println("\n" + ps.toString().split(":")[1]);
- log.WriteLine("DButils.getEntitysByColumnsAnd()", "sql:"
- + ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getEntitysByColumnsAnd()",
- "getEntitysByColumnsAnd error");
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @category \u591A\u6761\u4EF6\u6A21\u7CCA\u67E5\u8BE2
- * @param c
- * @param columns
- * @param conditions
- */
- public static List getEntitysByColumnsOr(Class c, String[] columns,
- Object[] conditionsValues) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitysByColumnsOr()", tableName
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- List<String> columnList = getColumns(c);
- for (int i = 0; i < columns.length; i++) {
- if (!columnList.contains(columns[i])) {
- System.err.println("\u5217\u540D'" + columns[i] + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitysByColumnsOr()", columns[i]
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- }
- if (columns.length != conditionsValues.length) {
- System.err.println("\u5217\u4E2A\u6570\u4E0E\u5217\u5BF9\u5E94\u7684value\u7684\u4E2A\u6570\u4E0D\u540C");
- log.WriteLine("DButils.getEntitysByColumnsOr()",
- "\u5217\u4E2A\u6570\u4E0E\u5217\u5BF9\u5E94\u7684value\u7684\u4E2A\u6570\u4E0D\u540C! \u9000\u51FA");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName)
- .append(" where");
- for (int i = 0; i < columns.length; i++) {
- if (i < columns.length - 1) {
- sql.append(" " + columns[i]).append("=? or");
- } else {
- sql.append(" " + columns[i]).append("=?");
- }
- }
- log.WriteLine("DButils.getEntitysByColumnsOr()", "sql:"
- + sql.toString());
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- for (int i = 0; i < columns.length; i++) {
- ps.setObject(i + 1, conditionsValues[i]);
- }
- rs = ps.executeQuery();
- log.WriteLine("DButils.getEntitysByColumnsOr()", "sql:"
- + ps.toString().split(":")[1]);
- System.out.println("\n" + ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getEntitysByColumnsOr()",
- "getEntitysByColumnsOr error");
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @author Administrator
- * @category start mysql server
- */
- public static void startMySqlServer() {
- try {
- Runtime.getRuntime().exec("net start mysql");
- log.WriteLine("DButils.startMySqlServer()", "");
- } catch (IOException e) {
- log.WriteLine("DButils.startMySqlServer()",
- "mysql server start error");
- }
- }
- /**
- * @category\u521D\u59CB\u5316\u6570\u636E\u5E93
- * @param string
- */
- public static void init(String string,String databasetype) {
- if(databasetype.equals("mysql")){
- startMySqlServer();
- }else if(databasetype.equals("oracle")){
- startOracleServer();
- }
- new InitJFrame(string,databasetype);
- }
- private static void startOracleServer() {
- try {
- Runtime.getRuntime().exec(
- new String[] { "net start OracleOraDb11g_home1TNSListener",
- " net start OracleServiceORCL" });
- log.WriteLine("DButils.startOracleServer", "");
- } catch (IOException e) {
- log.WriteLine("DButils.startOracleServer",
- "oracle server start error");
- }
- }
- /**
- * @author Administrator
- * @category stop mysql server
- */
- public static void stopMySqlServer() {
- try {
- Runtime.getRuntime().exec("net stop mysql");
- } catch (IOException e) {
- log.WriteLine("DButils.stopMySqlServer()",
- "mysql server stop error");
- System.err.println("mysql server stop error");
- }
- }
- /**
- * @category \u662F\u5426\u6267\u884Cinit\u65B9\u6CD5 \u82E5isExcuteInit\u4E3Atrue\u8FD9\u6267\u884C \u5426\u5219\u4E0D\u6267\u884C
- * @param isExcuteInit
- */
- public static void isExecuteInit(boolean isExcuteInit) {
- if (isExcuteInit) {
- RegisterUtil.putIntSystemRoot("isInit", 1);
- } else {
- RegisterUtil.putIntSystemRoot("isInit", 0);
- }
- }
- /**
- * @category \u6570\u636E\u5E93\u662F\u5426\u81EA\u52A8\u63D0\u4EA4
- * @param autoCommit
- */
- public static void setAutoCommit(boolean autoCommit) {
- if (autoCommit) {
- RegisterUtil.putIntSystemRoot("autoCommit", 1);// 1\u662F\u81EA\u52A8\u63D0\u4EA4
- } else {
- RegisterUtil.putIntSystemRoot("autoCommit", 0);// 0\u662F\u9700\u8981\u6267\u884Ccommitt
- }
- }
- /**
- * @category get isAutoCommit
- * @return boolean
- */
- public static boolean getAutoCommit() {
- int flag = RegisterUtil.getIntFromSystemRoot("autoCommit", 1);
- return flag == 1 ? true : false;
- }
- /**
- * @category \u5982\u679CautoCommit=true \u5219\u4E0D\u505A\u64CD\u4F5C\u5426\u5219\u6267\u884Cconn.commit()
- */
- public static void commit() {
- int isCommit = RegisterUtil.getIntFromSystemRoot("autoCommit", 1);
- if (isCommit != 1) {
- try {
- conn.commit();
- } catch (SQLException e) {
- log.WriteLine("DButils.commit()", "commit error");
- System.out.println("db commit false");
- exceptionPrint(e);
- }
- }
- }
- /**
- *
- * @return Connection
- * @throws SQLException
- * @throws ClassNotFoundException
- */
- public static Connection getConnection() {
- conn = connHolder.get();
- try {
- if (conn == null || conn.isClosed()) {
- conn = DriverManager.getConnection(url, username, password);
- //conn.setAutoCommit(getAutoCommit());
- conn.setAutoCommit(false);
- connHolder.set(conn);
- }
- } catch (Exception e) {
- log.WriteLine("DButils.getConnection{}", "getConnection error");
- logger.error(e.getMessage());
- init("getConnection",databasetype);
- exceptionPrint(e);
- }
- return conn;
- }
- /**
- * @category \u6253\u5370\u9519\u8BEF
- * @param e
- */
- public static void exceptionPrint(Exception e) {
- StackTraceElement[] errors = e.getStackTrace();
- System.out.println();
- for (int i = 0; i < errors.length; i++) {
- if (DButils.class.getName().equals(errors[i].getClassName())) {
- System.out.print("Exception: " + getCurrentDataTime() + " "
- + errors[i].getClassName() + "."
- + errors[i].getMethodName() + "() line:"
- + errors[i].getLineNumber() + "\n");
- }
- }
- e.printStackTrace();
- System.out.println();
- }
- /**
- * @category \u6839\u636Esql\u5F97\u5230\u8BB0\u5F55\u603B\u6570
- * @param sql
- * @return int \u5982\u679C\u8FD4\u56DE-1\u4EE3\u8868\u51FA\u9519
- */
- public static int getCount(String sql) {
- try {
- ResultSet rs = getConnection().createStatement().executeQuery(sql);
- int count = -1;
- if (rs.next()) {
- count = rs.getInt(1);
- }
- rs.close();
- return count;
- } catch (Exception e) {
- log.WriteLine("DButils.getCount{}", "getCount error sql:" + sql);
- exceptionPrint(e);
- }
- return -1;
- }
- /**
- * @see \u83B7\u53D6\u67D0\u5F20\u8868\u7684\u603B\u8BB0\u5F55\u6570
- * @param c
- * Person.class
- * @return -1 \u51FA\u9519 >=0 right
- */
- public static int getCount(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- return -1;
- }
- int count = -1;
- try {
- ResultSet rs = getConnection().prepareStatement(
- "select count(" + getColumns(c).get(0) + ") from "
- + tableName).executeQuery();
- if (rs.next()) {
- count = rs.getInt(1);
- }
- rs.close();
- return count;
- } catch (Exception e) {
- log.WriteLine("DButils.getCount{}", "getCount error");
- e.printStackTrace();
- }
- return count;
- }
- /**
- * @category \u5F39\u51FA\u6570\u636E\u5E93\u914D\u7F6E\u7A97\u53E3
- */
- public static void init() {
- init(null,databasetype);
- }
- /**
- * @category close Connection
- * @throws SQLException
- */
- public static void close() throws SQLException {
- conn.close();
- conn = null;
- connHolder.set(null);
- }
- public static int createTable(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person
- return 0;
- }
- /**
- *
- * @param c
- * \u53C2\u6570\u4F8B\u5982Person.class
- * @param obj
- * \u53C2\u6570\u4F8B\u5982 person obj\u4E3A\u67D0\u4E00\u5B9E\u4F8B\u5BF9\u8C61 // Person person=new Person();
- * @category \u8BE5\u65B9\u6CD5\u7528\u4E8E\u5411\u6570\u636E\u5E93\u4E2D\u63D2\u5165\u6761\u6570\u636E \u63D2\u5165\u7684\u5BF9\u8C61\u662F\u4E00\u4E2A\u5B9E\u4F53\u7C7B\u7684\u5BF9\u8C61
- */
- public static void insertEntity(Class c, Object obj) {
- if (obj == null || c.getSimpleName().equals(obj.getClass().getName()))
- return;
- Field[] fields = obj.getClass().getDeclaredFields();
- int fieldSize = fields.length;
- String tableName = c.getSimpleName().toLowerCase();// person
- String[] types1 = { "int", "java.lang.String", "boolean", "char",
- "float", "double", "long", "short", "byte", "date" };
- String[] types2 = { "java.lang.Integer", "java.lang.String",
- "java.lang.Boolean", "java.lang.Character", "java.lang.Float",
- "java.lang.Double", "java.lang.Long", "java.lang.Short",
- "java.lang.Byte", "java.util.Date" };
- StringBuffer sql = new StringBuffer("replace into " + tableName
- + " values(");
- for (int i = 0; i < fieldSize; i++) {
- sql.append("?
- ,");
- }
- sql.deleteCharAt(sql.length() - 1);
- sql.append(")");
- log.WriteLine("DButils.insertEntity()", "insertEntity sql:" + sql);
- PreparedStatement ps = null;
- try {
- ps = getConnection().prepareStatement(sql.toString());
- for (int j = 0; j < fieldSize; j++) {
- fields[j].setAccessible(true);
- for (int i = 0; i < types1.length; i++) {
- if (fields[j].getType().getName().equalsIgnoreCase(
- types1[i])
- || fields[j].getType().getName().equalsIgnoreCase(
- types2[i])) {
- if (fields[j].get(obj) != null
- && !"".equals(fields[j].get(obj))
- && !"null".equals(fields[j].get(obj))) {
- // System.out.print(fields[j].getName() + ":"
- // + fields[j].get(obj) + " ");
- ps.setObject(j + 1, fields[j].get(obj));
- } else {
- // System.out.print(fields[j].getName() + ":"
- // + fields[j].get(obj) + " ");
- ps.setObject(j + 1, null);
- }
- }
- }
- }
- ps.executeUpdate();
- System.out.println("\nsql:" + ps.toString().split(":")[1].trim());
- log.WriteLine("DButils.insertEntity()", "insertEntity sql:"
- + ps.toString().split(":")[1].trim() + " Entity:" + obj);
- ps.close();
- ps = null;
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- /**
- * @category \u6839\u636E\u4F20\u5165\u7684\u4E3B\u952E\u503C\u8FD4\u56DE\u4E00\u4E2A\u5B9E\u4F53\u5BF9\u8C61
- * @param c
- * for example Person.class
- * @param primaryKeys
- * primaryKeys\u4E3A\u4E3B\u952E,\u53C2\u6570\u987A\u5E8F\u548C\u8868\u4E2D\u4FDD\u6301\u4E00\u81F4 \u5982\u679Cid\uFF0C name \u4E3A\u4E3B\u952E \u7C7B\u540D\u4E3APerson \u5219
- * getEntity(Person.class,1,"name")
- * @return Object
- */
- public static Object getEntity(Class c, Object... primaryKeys) {
- PreparedStatement ps = null;
- ResultSet rs = null;
- DatabaseMetaData dmd = null;
- Object obj = null;// \u8981\u8FD4\u56DE\u7684\u5BF9\u8C61
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- List primaryKeyNameList = new ArrayList();// \u5B58\u653E\u4ECE\u8868\u4E2D\u83B7\u53D6\u7684\u4E3B\u952E
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684\u5C5E\u6027
- Method[] methods = null;
- if (fields.length == 0) {// \u5F53\u7C7B\u7684\u5C5E\u6027\u90FD\u662Fprivate\u65F6
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- methods = c.getDeclaredMethods();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName
- + " where ");
- try {
- obj = c.newInstance();
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return obj;
- }
- dmd = getConnection().getMetaData();
- rs = dmd.getPrimaryKeys(null, null, tableName);
- while (rs.next()) {// \u83B7\u53D6\u6240\u6709\u7684\u4E3B\u952E
- sql.append(rs.getObject(4) + "=?");
- sql.append(" and ");
- primaryKeyNameList.add(rs.getObject(4));// \u5C06\u4ECE\u8868\u4E2D\u83B7\u53D6\u7684 \u4E3B\u952E\u5B57\u6BB5\u5B58\u5230 list\u4E2D\uFF0C
- // \u4E3B\u952E\u4F4D\u4E8E\u8868\u4E2D\u7B2C\u51E0\u5217=rs.getString(5)
- }
- sql.delete(sql.length() - 4, sql.length());
- if (!sql.toString().contains("where")) {
- System.err.println("\u6CA1\u6709\u627E\u5230\u4E3B\u952E");
- return obj;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- for (int l = 0; l < primaryKeyNameList.size(); l++) {
- ps.setObject(l + 1, primaryKeys[l]);
- }
- rs = ps.executeQuery();
- System.out.println(ps.toString().split(":")[1]);
- List<String> tableColumns = getColumns(c);
- if (rs.next()) {
- if (fields.length > 0) {// \u5982\u679C\u7C7B \u7684\u5C5E\u6027\u4E3Apublic
- for (int k = 0; k < fields.length; k++) {
- fields[k].set(obj, rs.getObject(k + 1));
- }
- } else {// \u5982\u679C\u7C7B \u7684\u5C5E\u6027\u4E3Aprivate
- for (int k = 0; k < methods.length; k++) {
- for (int i = 0; i < tableColumns.size(); i++) {
- if (methods[k].getName().equalsIgnoreCase(
- "set" + tableColumns.get(i))) {
- methods[k].invoke(obj, rs
- .getObject(tableColumns.get(i)));
- }
- }
- }
- }
- }
- rs.close();
- ps.close();
- rs = null;
- ps = null;
- } catch (Exception e) {
- e.printStackTrace();
- log.WriteLine("DButils.getEntity()", "getEntity error talbename:"
- + tableName);
- }
- return obj;
- }
- /**
- *
- * @param tableName
- * \u6807\u7684\u540D\u5B57
- * @category \u8868\u4E0D\u5B58\u5728 1\u8868\u5B58\u5728
- * @return 0\u8868\u4E0D\u5B58\u5728 >=1\u8868\u5B58\u5728
- */
- public static boolean isTableExist(String tableName) {
- int v = getCount("SELECT count(table_name) FROM information_schema.TABLES WHERE table_name='"
- + tableName + "' ");
- if (v >= 1) {
- return true;
- } else {
- System.err.println("\u8868 \u4E0D\u5B58\u5728 table not exist");
- log.WriteLine("DButils.isTableExist()", "\u8868\u4E0D\u5B58\u5728");
- return false;
- }
- }
- /**
- *
- * @category \u83B7\u53D6\u67D0\u4E2A\u8868\u4E2D\u6240\u6709\u7684\u5217\u540D
- * @param c
- * Person.class (\u7C7B\u540D\u4E0E\u8868\u540D\u4E00\u81F4)
- * @return List
- */
- public static List<String> getColumns(Class c) {
- List<String> list = new ArrayList<String>();
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("talbe is not exist");
- return list;
- }
- String sql = "select COLUMN_NAME from information_schema.columns where table_name='"
- + tableName + "'";
- try {
- ResultSet rs = getConnection().createStatement().executeQuery(sql);
- while (rs.next()) {
- if (!list.contains(rs.getString(1))) {
- list.add(rs.getString(1));// \u9632\u6B62\u4E0D\u540C\u6570\u636E\u5E93\u4E2D\u6709\u76F8\u540C\u7684\u8868\u540D
- }
- }
- rs.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getColumns()", "getColumns error ");
- e.printStackTrace();
- }
- return list;
- }
- /**
- * @category \u8FD4\u56DE\u5F53\u524D\u65F6\u95F4 String
- * @return String now system date yyyy/MM/dd hh:mm:ss
- */
- public static String getCurrentDataTime(String datetimeFormat) {
- Date date = new Date();
- SimpleDateFormat sdf = null;
- if (datetimeFormat == null || "".equals(datetimeFormat)) {
- sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
- }
- sdf.format(date);
- return sdf.format(date);
- }
- /**
- * @category \u8FD4\u56DE\u5F53\u524D\u65F6\u95F4 String
- * @return String now system date
- */
- public static String getCurrentDataTime() {
- return getCurrentDataTime(null);
- }
- /**
- * @category \u8FD4\u56DE\u6570\u636E\u5E93\u7684\u540D\u5B57
- * @param Person
- * .class
- * @return database name
- */
- public static String getDatabaseName(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- try {
- ResultSet rs = getConnection().getMetaData().getPrimaryKeys(null,
- null, tableName);
- String result = null;
- if (rs.next()) {
- System.out.println("database:" + rs.getString(1));
- result = rs.getString(1);
- rs.close();
- rs = null;
- return result;
- }
- } catch (Exception e) {
- System.err.println("\u83B7\u53D6\u6570\u636E\u5E93\u540D\u5931\u8D25");
- log.WriteLine("DButils.getDatabaseName()", "getDatabaseName error");
- exceptionPrint(e);
- }
- return null;
- }
- /**
- * @category \u8FD4\u56DE int auto_increment\u7684\u4E0B\u4E00\u4E2A\u81EA\u589E\u503C
- * @param c
- * Person\u3002class
- * @return int \u4E0B\u4E00\u4E2A\u81EA\u589E\u503C \u5982\u679C\u6CA1\u6709\u5219\u8FD4\u56DEnull
- */
- public static int getAutoIncremet(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- return -1;
- }
- int count = -1;
- try {
- ResultSet rs = getConnection().prepareStatement(
- "SELECT auto_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='"
- + getDatabaseName(c) + "' AND TABLE_NAME='"
- + tableName + "'").executeQuery();
- if (rs.next()) {
- count = rs.getInt(1);
- }
- rs.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getAutoIncremet()", "getAutoIncremet error");
- e.printStackTrace();
- }
- return count;
- }
- /**
- * @category \u67E5\u627E\u67D0\u4E00\u5217\u7684\u6240\u6709\u503C
- * @param c
- * Person.class
- * @param columnName
- * \u8981\u67E5\u627E\u7684\u67D0\u4E00\u5217\u7684\u5217\u540D
- * @return List<String> \u8FD4\u56DE\u67D0\u4E00\u5217\u7684\u6240\u6709\u503C
- */
- public static List<String> getColumnData(Class c, String columnName) {
- if (!getColumns(c).contains(columnName)) {
- System.err.println("\u5217\u540D'" + columnName + "'\u4E0D\u5B58\u5728");
- return null;
- }
- List<String> list = new ArrayList<String>();
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("talbe is not exist");
- return list;
- }
- String sql = "select " + columnName + " from " + tableName;
- try {
- ResultSet rs = getConnection().createStatement().executeQuery(sql);
- while (rs.next()) {
- list.add(rs.getString(1));
- }
- rs.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getColumnData()", "getColumnData error");
- exceptionPrint(e);
- }
- return list;
- }
- /**
- * @category \u6839\u636E\u6761\u4EF6\u67E5\u8BE2 \u8FD4\u56DEwhere columnName=value
- * @param c
- * Person.class \u4E14Person \u6240\u6709\u7684\u5C5E\u6027\u5FC5\u987B\u5168\u4E3A\u4E3Apublic\u7C7B\u578B\u6216\u8005\u5168\u90E8\u4E3Aprivate
- * @param columnName
- * \u8868\u4E2D\u7684\u67D0\u5B57\u6BB5
- * @param value
- * columnName\u5BF9\u5E94\u7684\u503C
- * @return List
- */
- public static List getEntitys(Class c, String columnName, Object value) {
- if (!getColumns(c).contains(columnName)) {
- System.err.println("\u5217\u540D'" + columnName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitys()", "\u5217\u540D\u4E0D\u5B58\u5728 \u63A8\u51FA");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- Method[] methods = null;
- if (fields.length == 0) {
- fields = c.getDeclaredFields();// \u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- methods = c.getDeclaredMethods();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName
- + " where " + columnName + "=?");
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- ps.setObject(1, value);
- rs = ps.executeQuery();
- System.out.println("\n" + ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- if (fields.length > 0) {// \u5982\u679C\u7C7B \u7684\u5C5E\u6027\u4E3Apublic
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- } else {// \u5982\u679C\u7C7B \u7684\u5C5E\u6027\u4E3Aprivate
- for (int k = 0; k < methods.length / 2; k++) {
- methods[k * 2].invoke(obj, rs.getObject(k + 1));
- }
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getEntitys()", "getEntitys error");
- e.printStackTrace();
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @see \u83B7\u53D6\u6240\u6709\u7684\u6570\u636E
- * @param c
- * Person.class
- * @return List\u6240\u6709\u7684\u6570\u636E
- */
- public static List getAllEntitys(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getAllEntitys()", tableName
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName);
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- rs = ps.executeQuery();
- System.out.println("\n" + ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getAllEntitys()", "getAllEntitys error");
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @see \u83B7\u53D6\u6240\u6709\u7684\u6570\u636E
- * @param c
- * Person.class
- * @param columns
- * \u8981\u6392\u5E8F\u7684columns \u5982 Id\uFF0Cname \u6216\u5355\u72EC\u4E00\u4E2Aname
- * @param ascOrDesc
- * asc\u6216desc
- * @return List\u6240\u6709\u7684\u6570\u636E
- */
- public static List getAllEntitysOrderByColumns(Class c, String[] columns,
- String ascOrDesc) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getAllEntitysOrderByColumns()", tableName
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- List<String> columnList = getColumns(c);
- for (int i = 0; i < columns.length; i++) {
- if (!columnList.contains(columns[i])) {
- System.err.println("\u5217\u540D'" + columns[i] + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getAllEntitysOrderByColumns()",
- columns[i] + " is not isExist! \u9000\u51FA");
- return null;
- }
- }
- if (!ascOrDesc.equalsIgnoreCase("asc")
- && ascOrDesc.equalsIgnoreCase("desc")) {
- log.WriteLine("DButils.getAllEntitysOrderByColumns()", "\u6392\u5E8F\u5173\u952E\u5B57\u9519\u8BEF");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName
- + " order by ");
- for (int i = 0; i < columns.length; i++) {
- if (i < columns.length - 1) {
- sql.append("" + columns[i] + ",");
- } else {
- sql.append("" + columns[i] + " " + ascOrDesc);
- }
- }
- log.WriteLine("DButils.getAllEntitysOrderByColumn()", "sql:"
- + sql.toString());
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- rs = ps.executeQuery();
- System.out.println("\n" + ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getAllEntitysOrderByColumn()",
- "getAllEntitysOrderByColumn error");
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @see \u83B7\u53D6\u6570\u636E\u4E2D\u7684\u67D0\u51E0\u6761\u8BB0\u5F55
- * @param c
- * Person.class
- * @param fromNumber
- * \u4ECE\u6570\u636E\u5E93\u7684\u7B2C\u51E0\u6761\u5F00\u59CB\uFF080\uFF0C1\uFF0C2\uFF0C3\uFF09
- * @param number
- * \u4ECEfromNumber\u5F00\u59CB\u83B7\u53D6\u591A\u5C11\u884C
- * @return List
- */
- public static List getEntitysLimit(Class c, int fromNumber, int number) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from " + tableName)
- .append(" limit ?
- ,?");
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- ps.setInt(1, fromNumber);
- ps.setInt(2, number);
- rs = ps.executeQuery();
- System.out.println("\n" + ps.toString().split(":")[1]);
- log.WriteLine("DButils.getEntitysLimit()",
- ps.toString().split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getEntitysLimit()", "getEntitysLimit error");
- exceptionPrint(e);
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- /**
- * @category \u8FD4\u56DE\u8868\u4E2D\u6240\u6709\u7684\u4E3B\u952E
- * @param c
- * Person.class
- * @return list
- */
- public static List<String> getPrimaryKeys(Class c) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- ResultSet rs = null;
- List<String> list = new ArrayList<String>();
- try {
- rs = getConnection().getMetaData().getPrimaryKeys(null, null,
- tableName);
- while (rs.next()) {
- list.add(rs.getString(4));
- }
- rs.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getPrimaryKeys()", "getPrimaryKeys error");
- exceptionPrint(e);
- }
- return list;
- }
- /**
- * @category \u6839\u636E\u4E3B\u952E\u5220\u9664\u6570\u636E
- * @param c
- * Person.class
- * @param primaryKey
- * \u6309\u8868\u4E2D\u4E3B\u952E\u5220\u9664 \u5982\u679C\u4E3B\u952E\u4E3Aid\u3002name
- * \u5219deleteByPrimaryKey(Person.class,1,"ctl");
- */
- public static void deleteByPrimaryKey(Class c, Object... primaryKey) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- List<String> primaryKeysList = getPrimaryKeys(c);
- StringBuilder sb = new StringBuilder("delete from " + tableName
- + " where ");
- for (int i = 0; i < primaryKeysList.size(); i++) {
- sb.append(primaryKeysList.get(i) + "=? and ");
- }
- sb.delete(sb.length() - 4, sb.length());
- PreparedStatement ps = null;
- try {
- ps = getConnection().prepareStatement(sb.toString());
- for (int i = 0; i < primaryKeysList.size(); i++) {
- ps.setObject(i + 1, primaryKey[i]);
- }
- ps.executeUpdate();
- System.out.println(ps.toString().split(":")[1].trim());
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.deleteByPrimaryKey()",
- "deleteByPrimaryKey error");
- ps = null;
- exceptionPrint(e);
- }
- }
- /**
- * @see \u5220\u9664\u5217\u540D\u4E3AcolumnName\u5217\u503C\u4E3AcolumnValue\u7684\u6570\u636E
- * @param c
- * Person.class
- * @param columnName
- * \u5217\u540D
- * @param columnValue
- * \u5217\u540D\u5BF9\u5E94\u7684\u503C
- */
- public static void deleteByColumn(Class c, String columnName,
- Object columnValue) {
- if (!getColumns(c).contains(columnName)) {
- System.err.println("\u5217\u540D'" + columnName + "'" + "\u4E0D\u5B58\u5728");
- return;
- }
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- StringBuilder sql = new StringBuilder("delete from ").append(tableName)
- .append(" where ").append(columnName + "=?");
- try {
- PreparedStatement ps = getConnection().prepareStatement(
- sql.toString());
- ps.setObject(1, columnValue);
- // ps.setObject(2,columnValue );
- ps.executeUpdate();
- System.out.println(ps.toString().split(":")[1].trim());
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.deleteByColumn()", "deleteByColumn error");
- System.err.println("delete error");
- e.printStackTrace();
- }
- }
- /**
- * @category \u4ECE\u5B9E\u4F53\u7C7B\u5BF9\u8C61\u4E2D\u83B7\u53D6\u4E3B\u952E\u7684\u5217\u540D\u548Cvalue \u5229\u7528\u7684\u662Ffiled\u83B7\u53D6
- * @param c
- * Person.class
- * @param obj
- * \u5B9E\u4F53\u5BF9\u8C61
- * @return \u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4E3B\u952E \u7136\u540E\u4E0E\u5B9E\u4F53\u7C7B\u76F8\u5339\u914D\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u4E2D\u7684\u4E3B\u952E\u540D\u548C\u503C
- */
- public static List<KeyValue> getEntityPrimaryKeyValueField(Class c,
- Object obj) {
- List<KeyValue> keyValues = new ArrayList<KeyValue>();
- List<String> primaryKeys = getPrimaryKeys(c);
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {// \u6240\u6709\u5C5E\u6027\u4E3Apublic
- try {
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j)
- .equalsIgnoreCase(fields[i].getName())) {
- KeyValue kv = new KeyValue();
- kv.setKey(fields[i].getName());
- kv.setValue(fields[i].get(obj));
- keyValues.add(kv);
- // System.out.println(fields[i].getName() + ":"
- // + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.getEntityPrimaryKeyValueField()",
- "getEntityPrimaryKeyValueField error");
- exceptionPrint(e);
- }
- }
- if (fields.length == 0) {// \u5F53\u7C7B\u7684\u5C5E\u6027\u90FD\u662Fprivate\u65F6
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// //\u83B7\u5F97\u5BF9\u8C61\u6240\u6709\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {
- try {
- fields[i].setAccessible(true);// \u4FEE\u6539\u8BBF\u95EE\u6743\u9650 \u53EF\u4EE5\u8BBF\u95EEprivate
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j).equalsIgnoreCase(
- fields[i].getName())) {
- KeyValue kv = new KeyValue();
- kv.setKey(fields[i].getName());
- kv.setValue(fields[i].get(obj));// \u8BFB\u53D6\u5C5E\u6027\u503C
- keyValues.add(kv);
- // System.out.println(fields[i].getName() + ":"
- // + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.getEntityPrimaryKeyValueField()",
- "getEntityPrimaryKeyValueField error");
- exceptionPrint(e);
- }
- }
- }
- return keyValues;
- }
- /**
- * @category \u4ECE\u5B9E\u4F53\u7C7B\u5BF9\u8C61\u4E2D\u83B7\u53D6\u4E3B\u952E\u7684\u5217\u540D\u548Cvalue \u5229\u7528\u7684\u662FMethod get\u65B9\u6CD5\u83B7\u53D6
- * @param c
- * Person.class
- * @param obj
- * \u5B9E\u4F53\u5BF9\u8C61
- * @return \u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4E3B\u952E \u7136\u540E\u4E0E\u5B9E\u4F53\u7C7B\u76F8\u5339\u914D\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u4E2D\u7684\u4E3B\u952E\u540D\u548C\u503C
- */
- public static List<KeyValue> getEntityPrimaryKeyValueMethod(Class c,
- Object obj) {
- List<KeyValue> keyValues = new ArrayList<KeyValue>();
- List<String> primaryKeys = getPrimaryKeys(c);
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {// \u6240\u6709\u5C5E\u6027\u4E3Apublic
- try {
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j)
- .equalsIgnoreCase(fields[i].getName())) {
- KeyValue kv = new KeyValue();
- kv.setKey(fields[i].getName());
- kv.setValue(fields[i].get(obj));
- keyValues.add(kv);
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- if (fields.length == 0) {// \u5F53\u7C7B\u7684\u5C5E\u6027\u90FD\u662Fprivate\u65F6
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// //\u83B7\u5F97\u5BF9\u8C61\u6240\u6709\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {
- try {
- fields[i].setAccessible(true);// \u4FEE\u6539\u8BBF\u95EE\u6743\u9650 \u53EF\u4EE5\u8BBF\u95EEprivate
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j).equalsIgnoreCase(
- fields[i].getName())) {
- KeyValue kv = new KeyValue();
- kv.setKey(fields[i].getName());
- kv.setValue(fields[i].get(obj));// \u8BFB\u53D6\u5C5E\u6027\u503C
- keyValues.add(kv);
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- return keyValues;
- }
- /**
- * @category \u4ECE\u5B9E\u4F53\u7C7B\u5BF9\u8C61\u4E2D\u6309\u987A\u5E8F\u83B7\u53D6\u6240\u6709\u4E3B\u952E\u7684value
- * @param c
- * Person.class
- * @param obj
- * \u5B9E\u4F53\u5BF9\u8C61
- * @return \u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4E3B\u952E \u7136\u540E\u4E0E\u5B9E\u4F53\u7C7B\u76F8\u5339\u914D\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u4E2D\u7684\u4E3B\u952E\u503C
- */
- public static List<Object> getEntityPKValues(Class c, Object obj) {
- List<Object> keyValues = new ArrayList<Object>();
- List<String> primaryKeys = getPrimaryKeys(c);
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {// \u6240\u6709\u5C5E\u6027\u4E3Apublic
- try {
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j)
- .equalsIgnoreCase(fields[i].getName())) {
- keyValues.add(fields[i].get(obj));
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.getEntityPKValues()",
- "getEntityPKValues error");
- exceptionPrint(e);
- }
- }
- if (fields.length == 0) {// \u5F53\u7C7B\u7684\u5C5E\u6027\u90FD\u662Fprivate\u65F6
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// //\u83B7\u5F97\u5BF9\u8C61\u6240\u6709\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {
- try {
- fields[i].setAccessible(true);// \u4FEE\u6539\u8BBF\u95EE\u6743\u9650 \u53EF\u4EE5\u8BBF\u95EEprivate
- for (int j = 0; j < primaryKeys.size(); j++) {
- if (primaryKeys.get(j).equalsIgnoreCase(
- fields[i].getName())) {
- keyValues.add(fields[i].get(obj));
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.getEntityPKValues()",
- "getEntityPKValues error");
- exceptionPrint(e);
- }
- }
- }
- return keyValues;
- }
- /**
- * @see \u5982\u679C\u6709\u4E3B\u952E\u5219\u6267\u884C\u66F4\u884C\uFF0C\u6CA1\u6709\u4E3B\u952E\u5219\u6267\u884C\u63D2\u5165\u64CD\u4F5C
- * @category \u5C06\u5B9E\u4F53\u7C7B\u5BF9\u8C61\u8DDF\u65B0\u5230\u6570\u636E\u5E93\u4E2D\uFF0C\u5982\u679C\u5BF9\u8C61\u4E2D\u7684\u5C5E\u6027\u4E0E\u6570\u636E\u4E2D\u4E0D\u4E00\u81F4\u5219\u66F4\u65B0\uFF0C\u5BF9\u8C61\u67D0\u5C5E\u6027\u4E3A\u7A7A\u5219\u4E0D\u66F4\u6539\u8BE5\u5C5E\u6027
- * @param c
- * Person.class
- * @param obj
- * person
- */
- public static void updateEntity(Class c, Object obj) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- List<String> primaryKeys = getPrimaryKeys(c);
- List<KeyValue> keyValues = getEntityPrimaryKeyValueField(c, obj);
- List<String> columns = getColumns(c);
- List<Object> values = getEntityPKValues(c, obj);
- Object tableDate = getEntity(c, values.toArray(new Object[] {}));
- // System.out.println(o);
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684\u5C5E\u6027
- System.out.println("\u6570\u636E\u5E93\u6BD4\u5BF9\u524D:" + obj);
- System.out.println("\u6570\u636E\u5E93\u4E2D\u6570\u636E:" + tableDate);
- for (int i = 0; i < fields.length; i++) {// \u6240\u6709\u5C5E\u6027\u4E3Apublic
- try {
- for (int j = 0; j < columns.size(); j++) {
- if (columns.get(j).equalsIgnoreCase(fields[i].getName())) {
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- if (fields[i].get(obj) == null) {
- fields[i].set(obj, fields[i].get(tableDate));
- } else if (!fields[i].get(obj).equals(
- fields[i].get(tableDate))) {
- continue;
- }
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.updateEntity()", "updateEntity error");
- exceptionPrint(e);
- }
- }
- if (fields.length == 0) {// \u5F53\u7C7B\u7684\u5C5E\u6027\u90FD\u662Fprivate\u65F6
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// //\u83B7\u5F97\u5BF9\u8C61\u6240\u6709\u5C5E\u6027
- for (int i = 0; i < fields.length; i++) {
- try {
- fields[i].setAccessible(true);// \u4FEE\u6539\u8BBF\u95EE\u6743\u9650 \u53EF\u4EE5\u8BBF\u95EEprivate
- for (int j = 0; j < columns.size(); j++) {
- if (columns.get(j)
- .equalsIgnoreCase(fields[i].getName())) {
- System.out.println(fields[i].getName() + ":"
- + fields[i].get(obj));
- if (fields[i].get(obj) == null) {
- fields[i].set(obj, fields[i].get(tableDate));
- } else if (!fields[i].get(obj).equals(
- fields[i].get(tableDate))) {
- continue;
- }
- }
- }
- } catch (Exception e) {
- log.WriteLine("DButils.updateEntity()",
- "updateEntity error");
- }
- }
- }
- System.out.println("\u6570\u636E\u5E93\u6BD4\u5BF9\u540E:" + obj);
- insertEntity(c, obj);
- }
- static class InitJFrame {
- private InitJFrame(String databasetype) {
- this(null,databasetype);
- }
- private InitJFrame(final String jfTitle,String databasetype) {
- initJFrame_mysql(jfTitle, databasetype);
- initJFrame_oracle(jfTitle, databasetype);
- }
- private void initJFrame_oracle(final String jfTitle, String databasetype) {
- if(databasetype.equals("oracle")){
- Thread t_oracle = new Thread() {
- public void run() {
- String title;
- Font fontGlobal = new Font("\u6977\u4F53", 11, 10);
- if (jfTitle != null && !"".equals(jfTitle)
- && !"null".equals(jfTitle)) {
- title = "oracle\u6570\u636E\u5E93\u521D\u59CB\u5316:" + jfTitle;
- } else {
- title = "oracle\u6570\u636E\u5E93\u521D\u59CB\u5316";
- }
- JFrame jf = new JFrame(title);
- jf.setVisible(true);
- jf.setBounds(600, 260, 266, 166);
- // jf.setBounds(600, 260, 266, 366);
- jf.setVisible(true);
- // jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setResizable(false);
- JPanel jpanel = new JPanel();
- jpanel.setBounds(0, 0, 300, 600);
- jf.add(jpanel);
- jpanel.setBackground(new Color(199, 237, 204));
- jpanel.setLayout(null);
- JLabel jls2 = new JLabel("\u4E3B\u673A\u540D/ip:");
- jls2.setBounds(0, 5, 50, 45);
- jpanel.add(jls2);
- jls2.setFont(fontGlobal);
- final JTextField jtfip = new JTextField(18);
- jtfip.setBounds(50, 17, 100, 20);
- jpanel.add(jtfip);
- jtfip.setText("127.0.0.1");
- JLabel jls3 = new JLabel("\u7AEF\u53E3:");
- jls3.setBounds(155, 5, 50, 45);
- jpanel.add(jls3);
- jls3.setFont(fontGlobal);
- final JTextField jtfport = new JTextField(15);
- jtfport.setBounds(180, 17, 45, 20);
- jpanel.add(jtfport);
- jtfport.setText("1521");
- JLabel jls4 = new JLabel("\u7528\u6237\u540D:");
- jls4.setBounds(16, 35, 50, 45);
- jpanel.add(jls4);
- jls4.setFont(fontGlobal);
- final JTextField jtfip1 = new JTextField(18);
- jtfip1.setBounds(50, 46, 58, 20);
- jpanel.add(jtfip1);
- jtfip1.setText("system");
- JLabel jls5 = new JLabel("\u5BC6\u7801:");
- jls5.setBounds(125, 35, 50, 45);
- jpanel.add(jls5);
- jls5.setFont(fontGlobal);
- final JPasswordField jtfport1 = new JPasswordField(15);
- jtfport1.setBounds(150, 46, 75, 20);
- jpanel.add(jtfport1);
- jtfport1.setText("system");
- final JLabel jls6 = new JLabel("SID:");
- jls6.setBounds(26, 65, 50, 45);
- jpanel.add(jls6);
- jls6.setFont(fontGlobal);
- final JTextField jtfip11 = new JTextField(18);
- jtfip11.setBounds(50, 77, 58, 20);
- jpanel.add(jtfip11);
- jtfip11.setText("fastatm");
- // JLabel jls51 = new JLabel("\u7F16\u7801:");
- // jls51.setBounds(123, 65, 50, 45);
- // jpanel.add(jls51);
- // jls51.setFont(fontGlobal);
- //
- // final JTextField jtfport11 = new JTextField(15);
- // jtfport11.setBounds(150, 77, 75, 20);
- // jpanel.add(jtfport11);
- // jtfport11.setText("utf-8");
- final JButton linkBtn = new JButton("\u521D\u59CB\u5316DButils\u5DE5\u5177\u7C7B");
- linkBtn.setBounds(56, 111, 150, 20);
- jpanel.add(linkBtn);
- linkBtn.setMargin(new Insets(0, 0, 0, 0));// \u8FD9\u6837\u8BBE\u7F6Ebutton\u4E2D\u7684\u5B57\u4F53\u4E0Ebutton\u65E0\u4E0A\u4E0B\u8FB9\u8DDD
- linkBtn.setFont(fontGlobal);
- MouseAdapter linkServerListener = new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- String ip = jtfip.getText().trim();
- int port = Integer.parseInt(jtfport.getText()
- .trim());
- username = jtfip1.getText().trim();
- password = jtfport1.getText().trim();
- String sid = jtfip11.getText().trim();
- //String code = jtfport11.getText().trim();
- driver = "oracle.jdbc.driver.OracleDriver";
- url = "jdbc:oracle:thin:@" + ip + ":" + port + ":"
- + sid;
- //javax.swing.JOptionPane.showMessageDialog(null,username+" "+password+" "+url);
- // RegisterUtil.putStringSystemRoot("oracle.driver",
- // driver);
- // RegisterUtil.putStringSystemRoot("oracle.url", url);
- // RegisterUtil.putStringSystemRoot("oracle.username",
- // username);
- // RegisterUtil.putStringSystemRoot("oracle.password",
- // password);
- System.out.println(RegisterUtil
- .getStringFromSystemRoot("oracle.driver"));
- System.out.println(driver);
- System.out.println(url);
- System.out.println(username);
- System.out.println(password);
- logger.info(driver);
- try {
- conn = DriverManager.getConnection(url,
- username, password);
- if (conn != null) {
- System.out.println(conn);
- conn.setAutoCommit(getAutoCommit());
- connHolder.set(conn);
- linkBtn.setText("\u521D\u59CB\u5316\u6210\u529F\uFF01\u8BF7\u5173\u95ED\u7A97\u4F53!");
- //RegisterUtil.putIntSystemRoot("isInit", 0);
- }
- } catch (Exception e2) {
- logger.error(e2.getMessage());
- }
- finally{
- if(conn!=null){
- try {
- conn.close();
- } catch (SQLException e1) {
- logger.error(e1.getMessage());
- }
- }
- }
- }
- };
- linkBtn.addMouseListener(linkServerListener);
- }
- };
- t_oracle.start();
- }
- }
- private void initJFrame_mysql(final String jfTitle, String databasetype) {
- if(databasetype.equals("mysql")){
- Thread t_mysql = new Thread() {
- public void run() {
- String title;
- Font fontGlobal = new Font("\u6977\u4F53", 11, 10);
- if (jfTitle != null && !"".equals(jfTitle)
- && !"null".equals(jfTitle)) {
- title = "mysql\u6570\u636E\u5E93\u521D\u59CB\u5316:" + jfTitle;
- } else {
- title = "mysql\u6570\u636E\u5E93\u521D\u59CB\u5316";
- }
- JFrame jf = new JFrame(title);
- jf.setVisible(true);
- jf.setBounds(600, 260, 266, 166);
- // jf.setBounds(600, 260, 266, 366);
- jf.setVisible(true);
- jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
- jf.setResizable(false);
- JPanel jpanel = new JPanel();
- jpanel.setBounds(0, 0, 300, 600);
- jf.add(jpanel);
- jpanel.setBackground(new Color(199, 237, 204));
- jpanel.setLayout(null);
- JLabel jls2 = new JLabel("\u4E3B\u673A\u540D/ip:");
- jls2.setBounds(0, 5, 50, 45);
- jpanel.add(jls2);
- jls2.setFont(fontGlobal);
- final JTextField jtfip = new JTextField(18);
- jtfip.setBounds(50, 17, 100, 20);
- jpanel.add(jtfip);
- jtfip.setText("127.0.0.1");
- JLabel jls3 = new JLabel("\u7AEF\u53E3:");
- jls3.setBounds(155, 5, 50, 45);
- jpanel.add(jls3);
- jls3.setFont(fontGlobal);
- final JTextField jtfport = new JTextField(15);
- jtfport.setBounds(180, 17, 45, 20);
- jpanel.add(jtfport);
- jtfport.setText("3306");
- JLabel jls4 = new JLabel("\u7528\u6237\u540D:");
- jls4.setBounds(16, 35, 50, 45);
- jpanel.add(jls4);
- jls4.setFont(fontGlobal);
- final JTextField jtfip1 = new JTextField(18);
- jtfip1.setBounds(50, 46, 58, 20);
- jpanel.add(jtfip1);
- jtfip1.setText("root");
- JLabel jls5 = new JLabel("\u5BC6\u7801:");
- jls5.setBounds(125, 35, 50, 45);
- jpanel.add(jls5);
- jls5.setFont(fontGlobal);
- final JPasswordField jtfport1 = new JPasswordField(15);
- jtfport1.setBounds(150, 46, 75, 20);
- jpanel.add(jtfport1);
- jtfport1.setText("root");
- JLabel jls6 = new JLabel("\u6570\u636E\u5E93\u540D:");
- jls6.setBounds(6, 65, 50, 45);
- jpanel.add(jls6);
- jls6.setFont(fontGlobal);
- final JTextField jtfip11 = new JTextField(18);
- jtfip11.setBounds(50, 77, 58, 20);
- jpanel.add(jtfip11);
- jtfip11.setText("test");
- JLabel jls51 = new JLabel("\u7F16\u7801:");
- jls51.setBounds(123, 65, 50, 45);
- jpanel.add(jls51);
- jls51.setFont(fontGlobal);
- final JTextField jtfport11 = new JTextField(15);
- jtfport11.setBounds(150, 77, 75, 20);
- jpanel.add(jtfport11);
- jtfport11.setText("utf-8");
- final JButton linkBtn = new JButton("\u521D\u59CB\u5316DButils\u5DE5\u5177\u7C7B");
- linkBtn.setBounds(56, 111, 150, 20);
- jpanel.add(linkBtn);
- linkBtn.setMargin(new Insets(0, 0, 0, 0));// \u8FD9\u6837\u8BBE\u7F6Ebutton\u4E2D\u7684\u5B57\u4F53\u4E0Ebutton\u65E0\u4E0A\u4E0B\u8FB9\u8DDD
- linkBtn.setFont(fontGlobal);
- MouseAdapter linkServerListener = new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- String ip = jtfip.getText().trim();
- int port = Integer.parseInt(jtfport.getText()
- .trim());
- username = jtfip1.getText().trim();
- password = jtfport1.getText().trim();
- String databaseName = jtfip11.getText().trim();
- String code = jtfport11.getText().trim();
- driver = "com.mysql.jdbc.Driver";
- url = "jdbc:mysql://" + ip + ":" + port + "/"
- + databaseName
- + "?unicode\\=true&characterEncoding\\="
- + code;
- RegisterUtil.putStringSystemRoot("mysql.driver",
- driver);
- RegisterUtil.putStringSystemRoot("mysql.url", url);
- RegisterUtil.putStringSystemRoot("mysql.username",
- username);
- RegisterUtil.putStringSystemRoot("mysql.password",
- password);
- System.out.println(RegisterUtil
- .getStringFromSystemRoot("mysql.driver"));
- System.out.println(driver);
- System.out.println(url);
- System.out.println(username);
- System.out.println(password);
- try {
- conn = DriverManager.getConnection(url,
- username, password);
- if (conn != null) {
- conn.setAutoCommit(getAutoCommit());
- connHolder.set(conn);
- linkBtn.setText("\u521D\u59CB\u5316\u6210\u529F\uFF01\u8BF7\u5173\u95ED\u7A97\u4F53");
- RegisterUtil.putIntSystemRoot("isInit", 0);
- }
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- };
- linkBtn.addMouseListener(linkServerListener);
- }
- };
- t_mysql.start();
- }
- }
- }
- /**
- * @category \u83B7\u53D6\u6240\u6709\u7684\u6570\u636E\u5E93\u540D
- * @return List<String>
- */
- public static List<String> getAllDatabaseNames() {
- List<String> list = new ArrayList<String>();
- try {
- ResultSet rs = DButils.getConnection().prepareStatement(
- "show databases").executeQuery();
- while (rs.next()) {
- list.add(rs.getString(1));
- }
- rs.close();
- } catch (SQLException e) {
- init();
- log.WriteLine("DButils.getAllDatabaseNames()",
- "getAllDatabaseNames error");
- exceptionPrint(e);
- }
- return list;
- }
- /**
- * @category \u7ED9\u8DDDsql\u8BED\u53E5\u8FD4\u56DEResultSet\u96C6\u5408
- * @param sql\u8BED\u53E5
- * sql
- * @return \u67E5\u8BE2\u8FD4\u56DE\u7684\u96C6\u5408
- */
- public static ResultSet getResultSet(String sql) {
- ResultSet rs = null;
- try {
- rs = getConnection().createStatement().executeQuery(sql);
- } catch (SQLException e) {
- log.WriteLine("DButils.getResultSet()", "getResultSet error");
- exceptionPrint(e);
- }
- return rs;
- }
- /**
- * @category \u6279\u5904\u7406sqkl\u8BED\u53E5
- * @param sqls
- * \u8981\u6267\u884C\u7684sql\u8BED\u53E5
- * @return int[] \u6267\u884CBatch\u540E\u7684\u6570\u7EC4
- */
- public static int[] updateStatement(String[] sqls) {
- Statement st = null;
- int result[] = null;
- try {
- st = getConnection().createStatement();
- for (int i = 0; i < sqls.length; i++) {
- st.addBatch(sqls[i]);
- }
- result = st.executeBatch();
- st.close();
- st = null;
- } catch (SQLException e) {
- st = null;
- log.WriteLine("DButils.update()", "update error");
- exceptionPrint(e);
- }
- return result;
- }
- /**
- *
- * @param c
- * Person class
- * @param fromNumber
- * litmi from
- * @param number
- * to
- * @param columnName
- * \u8868\u4E2D\u7684\u5217\u540D
- * @param orderby
- * \u6309\u4EC0\u4E48\u6392\u5E8F
- * @return
- */
- public static List getEntitysLimitOderBy(Class c, int fromNumber,
- int number, String columnName, String orderby) {
- String tableName = c.getSimpleName().toLowerCase();// person \u8868\u7684\u540D\u5B57
- if (!isTableExist(tableName)) {
- System.err.println("\u8868'" + tableName + "'\u4E0D\u5B58\u5728");
- return null;
- }
- List<String> columnList = getColumns(c);
- if (!columnList.contains(columnName)) {
- System.err.println("\u5217\u540D'" + columnName + "'\u4E0D\u5B58\u5728");
- log.WriteLine("DButils.getEntitysLimitOderBy()", columnName
- + " is not isExist! \u9000\u51FA");
- return null;
- }
- if (orderby == null
- || (!orderby.equalsIgnoreCase("asc") && !orderby
- .equalsIgnoreCase("desc"))) {
- log.WriteLine("DButils.getEntitysLimitOderBy()", "\u6392\u5E8F\u5173\u952E\u5B57\u9519\u8BEF");
- return null;
- }
- List list = new ArrayList();
- PreparedStatement ps = null;
- ResultSet rs = null;
- Field[] fields = c.getFields();// \u83B7\u53D6\u6240\u6709\u7684public\u5C5E\u6027
- if (fields.length == 0) {
- // fields=c.getDeclaredFields();//\u83B7\u53D6\u6240\u6709\u7684private\u5C5E\u6027
- fields = c.getDeclaredFields();// \u83B7\u53D6get set \u65B9\u6CD5
- }
- StringBuilder sql = new StringBuilder("select * from ").append(
- tableName).append(" order by ").append(columnName + " ")
- .append(orderby).append(" limit ?,?");
- log.WriteLine("DButils.getEntitysLimitOderBy()", "sql:"
- + sql.toString());
- try {
- if (!isTableExist(tableName)) {
- System.err.println("\u8868\u4E0D\u5B58\u5728");
- return list;
- }
- ps = (PreparedStatement) getConnection().prepareStatement(
- sql.toString());
- ps.setInt(1, fromNumber);
- ps.setInt(2, number);
- rs = ps.executeQuery();
- System.out.println("\n" + ps.toString().split(":")[1]);
- log.WriteLine("DButils.getEntitysLimitOderBy()", ps.toString()
- .split(":")[1]);
- Object obj = null;
- while (rs.next()) {
- obj = c.newInstance();
- for (int k = 0; k < fields.length; k++) {
- fields[k].setAccessible(true);
- fields[k].set(obj, rs.getObject(k + 1));
- }
- list.add(obj);
- }
- rs.close();
- ps.close();
- } catch (Exception e) {
- log.WriteLine("DButils.getEntitysLimitOderBy()",
- "getEntitysLimitOderBy error");
- exceptionPrint(e);
- } finally {
- rs = null;
- ps = null;
- }
- return list;
- }
- public static void main(String[] args) {
- getAllDatabaseNames();
- String[] sqls = new String[] {
- "update person set name='\u6211' , address='fq' where id=1",
- "update person set name='\u4F60', tel='13781910922' where id=2" };
- System.out.println(getEntitysLimitOderBy(com.ctl.bean.Person.class, 1,
- 2, "id", "asc"));
- // isExecuteInit(true);
- // System.out.println(Arrays.toString(updateStatement(sql)));
- }
- }
#database=mysql
#\u6570\u636E\u5E93\u7684\u7C7B\u578B\u5FC5\u9700\u914D\u7F6E\u6B63\u786E
databasetype=oracle
#mysql config
mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc\:mysql\://localhost\:3306/test?unicode\=true&characterEncoding\=utf8
mysql.username=root
mysql.password=root #oracle config
oracle.driver=oracle.jdbc.driver.OracleDriver
oracle.url=jdbc:oracle:thin:@localhost:1521:orcl
oracle.username=test
oracle.password=test #ftp client config
ftp.host=127.0.0.1
ftp.port=21
ftp.username=grg
ftp.password=grg
ftp.binaryTransfer= true
ftp.passiveMode=true
ftp.encoding=gbk
ftp.clientTimeout=30000
DButils工具类能够用来获取数据库连接向数据库插入更新删除对象2的更多相关文章
- Java基础-DButils工具类(QueryRunner)详解
Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...
- 30_java之DButils工具类
01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实用. * DBUtils ...
- DBUtils工具类和DBCP连接池
今日内容介绍 1.DBUtils2.处理结果集的八种方式3.连接池4.连接池的用法1 PrepareStatement接口预编译SQL语句 1.1 预处理对象 * 使用PreparedStatemen ...
- java使用dbutils工具类实现小程序 管家婆记账软件
1.所需创建的包和 jar包 2.创建表结构 #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
- DBUtils工具类的使用
DBUtils工具类1.DBUtils工具类,由apache组织提供的工具类,对JDBC做了一些简单封装. 做了查询的封装,把查询的结果封装到List集合 Map集合 JavaBean对象中 做了增删 ...
- 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用
1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...
- Java学习笔记48(DBUtils工具类一)
上一篇的例子可以明显看出,在增删改查的时候,很多的代码都是重复的, 那么,是否可以将增删改查封装成一个类,方便使用者 package demo; /* * 实现JDBC的工具类 * 定义方法,直接返回 ...
- DBUtils工具类学习一
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能 1.特征 DBUtils是java编程中 ...
随机推荐
- C#个人笔记
1.扩展方法:类名前面加static ,方法参数前 加this,如:对string类进行扩展 public static class string { public static ...
- ASP.NET站点安全
<configuration> <appSettings/> <connectionStrings> <add name="MyBookShop&q ...
- 第一篇:GCD的使用
一.主队列介绍 主队列是和主线程相关的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中的任务,都会放到主线程中执行. 提示:如果把任务放到主队列进行处理,那么不论处理函数是异步的还是同步的都 ...
- [Swust OJ 217]--Factor(数论,类素数表)
题目链接:http://acm.swust.edu.cn/problem/0217/ Time limit(ms): 2000 Memory limit(kb): 65535 Descripti ...
- [Swust OJ 585]--倒金字塔(LIS最长不下降子序列)
题目链接:http://acm.swust.edu.cn/problem/585/ Time limit(ms): 3000 Memory limit(kb): 65535 SWUST国的一支科学 ...
- 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)
六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...
- 1, sync_with_stdio(), tie()的应用
一.sync_with_stdio() 这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printf和std::cout的时候不发生混乱,将输出流绑在了一起. ...
- .NET Core & ASP.NET Core 1.0
.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布 众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL) ...
- oracle dg坏境主库redolog改动大小
--备库standby 主库四个redolog 曾经都是50M大小 SQL> alter database recover managed standby database cancel; ...
- javascript每日一练(十四)——弹性运动
一.弹性运动 运动原理:加速运动+减速运动+摩擦运动: <!doctype html> <html> <head> <meta charset="u ...