`
jilong-liang
  • 浏览: 481425 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Log4j与单例模式连接数据库通用类

    博客分类:
  • Java
阅读更多
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
 * @ClassName: SqlHelper
 */
public class SqlHelper {
    /**
     * 设置单例
     * 单例模式可以节省资源.
     */
    public static SqlHelper instance = new SqlHelper();
 
    /**
     * 设置单例的一个实例方法
     *
     * @return
     */
    public static SqlHelper getInstance() {
       if (instance == null) {
           //锁定当前类
           synchronized (SqlHelper.class) {
              instance = new SqlHelper();
           }
       }
       return instance;
    }
    /**
     * 得到MySql连接
     * @return
     */
    public static Connection getMySqlConnection() {
       Connection conn = null;
       String url = "jdbc:mysql://127.0.0.1:3306/ssh?useUnicode=true&characterEncoding=utf-8";
       String user = "root";
       String password = "root";
       String driver = "com.mysql.jdbc.Driver";
       try {
           Class.forName(driver);
           conn = DriverManager.getConnection(url, user,password);
       } catch (Exception e) {
           System.out.println("连接数据库出现异常" + e.getMessage());
       }
       return conn;
    }
 
    /**
     * 得到MSSQL连接
     * @return
     */
    public static Connection getMSSQLConnection() {
       String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
       String user = "sa";
       String password = "sa";
       String Driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
       Connection conn = null;
       try {
           Class.forName(Driver);
           conn = DriverManager.getConnection(url, user,password);
       } catch (Exception e) {
           System.out.println("连接数据库出现异常" + e.getMessage());
       }
       return conn;
    }
 
    /**
     * 得到Oracle连接
     * @return
     */
    public static Connection getOracleConnection() {
       String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
       String user = "scott";
       String password = "scott";
       String Driver = "oracle.jdbc.driver.OracleDriver";
       Connection conn = null;
       try {
           Class.forName(Driver);
           conn = DriverManager.getConnection(url, user,password);
       } catch (Exception e) {
           System.out.println("连接数据库出现异常" + e.getMessage());
       }
       return conn;
    }
 
    /***
     * 释放资源...
     * @param rs
     * @param st
     * @param conn
     */
    public static void Relesae(ResultSet rs, Statement st, Connection conn) {
       try {
           if (rs != null)
              rs.close();
           if (st != null)
              st.close();
           if (conn != null)
              conn.close();
       } catch (SQLException e) {
           e.printStackTrace();
       }
    }
}
 ===============================================需要那个DataBase就开那个数据库===================================
 
#MySQL DataBase Connection Config
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/test?useUnicode\=true&characterEncoding\=utf-8
username=root
password=root
 
#SqlServer DataBaseConnection Config
 
#driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#url=jdbc:sqlserver://localhost:1433;DatabaseName=jdbc
#username=sa
#password=sa
 
#Oracle DataBase ConnectionConfig
#driver=oracle.jdbc.driver.OracleDriver
#url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
#username=scott
#password=scott 
===================================================================================================
 
package utility;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.apache.log4j.PropertyConfigurator;
/**
 * 需要一个log4j.jar包
 * 扩展性稍微好点.
 */
public class ConfigHelper {
protected static Connection conn = null;
protected  static Properties pro = null;
protected  static InputStream is = null;

/**得到配置的key
* @param key
* @return
*/
public static String getConfigKey(String key) {
String strVal = "";
try {
is = new FileInputStream(new File(
"src/application/jdbc_config.properties"));
pro = new Properties();
pro.load(is);

PropertyConfigurator.configure(pro);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
strVal = (String) pro.getProperty(key);
return strVal;
}
/**
* 得到连接
* @return
*/
public static Connection getConnection() {
String driver = getConfigKey("driver");
String url = getConfigKey("url");
String username = getConfigKey("username");
String password = getConfigKey("password");
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
*  释放资源...
* @param rs
* @param stmt
* @param conn
*/
public void  ReleaseSoucre(ResultSet rs,Statement stmt, Connection conn){
try {
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

 

0
1
分享到:
评论

相关推荐

    JSP数据库通用模块开发与系统移植

    综上所述,"JSP数据库通用模块开发与系统移植"是一个涵盖多方面技术的知识点,包括但不限于JSP基础、数据库连接与操作、设计模式、系统移植策略、测试、重构、部署、监控、异常处理以及安全性。通过深入理解和实践...

    jdbc连接数据库getConnection 增、删、改、查

    SqlHelper.java连接数据库通用类... package org.jdbc.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql....

    xml与数据库中数据的导入导出

    8. **设计模式**:在处理XML与数据库交互的过程中,可能会用到工厂模式(创建数据库连接)、单例模式(管理数据库连接池)等设计模式,以提高代码的可维护性和复用性。 9. **性能优化**:大量数据导入导出时,可能...

    Go语言代码样例

    在本压缩包文件"Go语言代码样例"中,我们主要关注四个关键知识点:Go语言与MySQL数据库的交互、Redis缓存的使用、单例模式的实现以及日志管理。以下将详细介绍这些内容。 首先,关于Go语言与MySQL的查询,Go提供了...

    java工程师项目经验简历范文.docx

    3. **设计模式**:如工厂模式、单例模式、适配器模式、不变模式、装饰模式、代理模式、MVC模式等,它们是软件设计的通用解决方案,能够提高代码的可维护性和复用性。 4. **数据库编程**:Oracle和MySQL是常用的关系...

    C# 银行代码

    7. **设计模式**:单例模式用于确保数据库连接的唯一性,工厂模式用于创建不同类型的账户,策略模式可用来处理不同类型的交易策略。 8. **单元测试**:为了确保代码的正确性,开发者通常会编写单元测试。使用NUnit...

    毕业设计 计算机专业-Java JAVA公共资源模块的设计与开发(源代码+论文)

    断言、日志记录(Log4j、SLF4J)和调试技巧也是必备技能。 7. **源代码管理**:理解版本控制系统,如Git,用于团队协作和版本控制。了解如何创建分支、合并代码和解决冲突。 8. **文档编写**:毕业设计通常需要...

    JAVA公共资源模块的设计与开发(源代码+论文).rar

    例如,使用Apache Commons Configuration库处理配置文件,使用Log4j或SLF4J进行日志记录,使用DBCP或C3P0管理数据库连接。 3. **源代码结构**:一个良好的源代码结构能提高开发效率。通常,我们可以按照MVC(模型-...

    android-utils:包含大多数Android实用程序类

    加密与解密的工具类 常用颜色色值工具类 一些通用的方法 为打包而生的渠道工具类 应用数据清除类,主要功能有清除内部/外部缓存,清除数据库,清除SharedPreference,清除文件和清除自定义目录 导出应用数据库工具类...

    Java实用系统开发指南(彭晨阳)part2

    8. **设计模式**:设计模式是解决常见编程问题的通用解决方案,如单例模式、工厂模式、观察者模式等,这部分将帮助开发者写出更具可复用性和可维护性的代码。 9. **Spring框架**:作为Java企业级应用的主流框架,...

    阿里巴巴Java开发手册终极版(研发必看).7z

    在日志管理上,手册建议使用统一的日志组件,如Log4j、SLF4J等,明确日志级别,便于问题定位和排查。 十、安全性 手册对安全问题进行了特别关注,如输入验证、密码加密、XSS防护、SQL注入防范等,提醒开发者时刻...

    WHC.OrderWater.Common公共类源码(附文档)

    1. **设计模式**:源码中可能会运用到如单例模式、工厂模式、装饰器模式等设计模式,以实现代码的复用性和可扩展性。 2. **异常处理**:通过观察源码,我们可以学习到如何有效地捕获和处理异常,以确保程序的健壮性...

    java-bank.zip_跨行_银行 java

    14. **日志记录**:为了解决问题和跟踪系统行为,会使用日志记录库如Log4j或Java内置的日志API,记录操作日志和错误信息。 综上所述,这个银行系统的实现涵盖了Java编程的核心概念,以及实际软件开发中的一些重要...

    Java中一些应该知道的知识点

    6. **单例模式**:单例模式确保一个类只有一个实例,并提供全局访问点。常见的实现包括饿汉模式、懒汉模式以及双重检查锁定模式。为了保证线程安全,可以使用`volatile`关键字,或者采用静态代码块、静态内部类或...

    阿里巴巴开发手册-Java-华山版

    8. **日志记录**:提倡合理使用日志框架,如Log4j或SLF4J,日志级别设置得当,方便问题排查。 9. **单元测试**:鼓励编写单元测试,确保代码功能的正确性,推荐使用JUnit或其他测试框架。 10. **性能优化**:提出...

    creat-CommonDevelopment-master.zip

    日志记录是追踪程序运行状态和错误的重要途径,Log4j、SLF4J和Logback是常用的日志框架。开发者需要了解如何配置日志级别,以及如何利用日志进行问题定位。同时,理解IDE的调试工具,如断点、单步执行等,对于提升...

    阿里巴巴Java开发手册(详尽版)_topm76_开发手册阿里巴巴_

    - 使用日志框架如Log4j、SLF4J,规范日志输出。 8. **SQL与数据库**: - SQL编写要遵循规范,避免SQL注入。 - 使用预编译的PreparedStatement,提高SQL执行效率。 - 合理设计数据库表结构,优化索引,减少冗余...

    Java开发代码指令大全.7z

    12. **设计模式**:文档可能会提及常见的设计模式,如工厂模式、单例模式、观察者模式等,这些都是解决特定问题的通用编程结构。 13. **Java标准库**:讲解Java SE中的标准库,如JavaFX用于图形用户界面,JDBC用于...

    开发人员必备工具(Java代码大全)

    7. **日志与异常处理**:如何正确使用Log4j、SLF4J等日志框架,以及优雅地处理和记录异常,都是Java开发中不可或缺的部分。 8. **数据库操作**:可能包含JDBC、ORM框架(如Hibernate)的使用示例,帮助理解数据库与...

    java毕业设计-JAVA公共资源模块的设计与开发(源代码+论文).zip

    4. **日志处理**:掌握使用Log4j、SLF4J或Java Util Logging等日志框架进行日志记录和调试,理解日志级别和日志输出格式的设置。 5. **异常处理**:理解Java异常体系,学习如何定义自定义异常,并使用try-catch-...

Global site tag (gtag.js) - Google Analytics