log4j socket 测试

来源:互联网 发布:终极面试 知乎 编辑:程序博客网 时间:2024/06/04 00:55

eclipse 3.3.0

jdk1.5

类源代码如下:

package xxx;

import java.sql.*;
import java.util.*;
import org.apache.commons.dbutils.*;
import org.apache.commons.dbutils.handlers.*;
import org.apache.commons.configuration.*;
import org.apache.log4j.*;

/**
 * 使用org.apache.commons.dbutils工具包进行数据库操作,使用org.apache.commons.configuration工具包,进行配置操作。
 *
 * @version 1.0,2007-09-11
 *
 * @author xxx *
 * @since JDK1.5
 */
public class DBHelper {
 private static String JDBC_URL;
 private static String JDBC_DRIVER;
 private static String JDBC_USERNAME;
 private static String JDBC_PASSWORD;

 static Logger log = Logger.getRootLogger();
 Connection conn = null;

 /**
  * 构造函数,读取配置文件monitor.properties,获得JDBC的URL、DRIVER、USERNAME、PASSWORD。
  *
  * @throws Exception
  */
 public DBHelper() {
  try {
   PropertiesConfiguration config = new PropertiesConfiguration(
     "monitor.properties");
   JDBC_URL = config.getString("JDBC_URL");
   log.debug("JDBC_URL: " + JDBC_URL);

   JDBC_DRIVER = config.getString("JDBC_DRIVER");
   log.debug("JDBC_DRIVER: " + JDBC_DRIVER);

   JDBC_USERNAME = config.getString("JDBC_USERNAME");
   log.debug("JDBC_USERNAME: " + JDBC_USERNAME);

   JDBC_PASSWORD = config.getString("JDBC_PASSWORD").trim();
   log.debug("JDBC_PASSWORD: " + JDBC_PASSWORD);

  } catch (Exception e) {
   log.error("An error occurred  reading Configuration: " + e);
   e.printStackTrace();
  }
 }

 private Connection getConnection() {
  DbUtils.loadDriver(JDBC_DRIVER);

  try {
   conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME,
     JDBC_PASSWORD);
  } catch (SQLException e) {
   log.error("An error occurred  getConnection: " + e);
   e.printStackTrace();
  }
  return conn;
 }

 /**
  * 执行查询操作。
  *
  * @param sqlStr
  *            String
  *
  * @return java.util.List
  *
  * @throws SQLException
  */
 public List execQuery(String sqlStr) {
  List result = null;
  try {
   QueryRunner qr = new QueryRunner();
   ResultSetHandler rsh = new MapListHandler();
   result = (List) qr.query(getConnection(), sqlStr, rsh);
   log.debug("Sql is: " + sqlStr);
  } catch (SQLException e) {
   log.error("An error occurred  Query: " + e);
   e.printStackTrace();
  }
  return result;
 }

 /**
  * 执行更新操作。包括添加、删除、更新。
  *
  * @param sqlStr
  *            String
  *
  * @return int
  *
  * @throws SQLException
  */
 public int execUpdate(String sqlStr) {
  int r = 0;
  try {
   QueryRunner qr = new QueryRunner();
   r = qr.update(getConnection(), sqlStr);
   log.debug("Sql is: " + sqlStr);
  } catch (SQLException e) {
   log.error("An error occurred Insert/Update/Delete: " + e);
   e.printStackTrace();
  }
  return r;
 }

 /**
  * 关闭数据库连接。
  */
 public void close() {
  DbUtils.closeQuietly(conn);
 }
}

如果想加入package注释,可以在包目录下编写package.html,内容如下:

<HTML>
<BODY>
帮助类。
<p>
包括MQ操作、Telnet操作、DB操作类。
</BODY>
</HTML>

原创粉丝点击