package com.haole.tools;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection {
private static DBConnection db = null ;
private static Connection conn = null ;
private static Properties properties = null ;
/**
* 单例模式 得到同一个DB实例
* @return DB 的一个实例
*/
public static synchronized DBConnection getDBInstance(){
if(null != db){
return db ;
}else{
db = new DBConnection() ;
return db ;
}
}
static{
properties = new Properties() ;
try{
//得到一个输入流到db.properties
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("DBConfig.property")) ;
}catch(IOException e){
System.out.println("读取属性文件 db.properties失败;属性文件不存在" + e.getMessage()) ;
}
}
/**
* 通过访问属性文件加载驱动文件
* @return Connection 的一个实例
* @throws ClassNotFoundException
* @throws SQLException
*/
public static Connection getConnection() throws ClassNotFoundException, SQLException{
//得到数据库驱动文件
String driver = properties.getProperty("SQLDriver") ;
//数据库连接的url
String url = properties.getProperty("SQLURL") ;
//数据库连接用户名
String username = properties.getProperty("user") ;
//数据库连接密码
String password = properties.getProperty("password") ;
//加载驱动文件
Class.forName(driver) ;
//与数据库建立连接
conn = DriverManager.getConnection(url,username , password) ;
return conn ;
}
public static void getClose(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static int executeSQL(String sql, String[] param) {
Connection conn = null;
PreparedStatement pst = null;
int num = 0;
try {
conn =getConnection() ;
conn.setAutoCommit(false);
if (conn == null) {
System.out.println("连接为空");
} else {
pst = conn.prepareStatement(sql);
if (param != null) {
for (int i = 0; i < param.length; i++) {
pst.setString(i + 1, param[i]);
}
}
num = pst.executeUpdate();
conn.commit();
conn.setAutoCommit(true);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBConnection.getClose(conn);
}
return num;
}
public static ResultSet executeQuery(String sql, String[] param) {
ResultSet rs = null;
PreparedStatement pst = null;
Connection conn = null;
try {
conn = getConnection();
pst = conn.prepareStatement(sql);
if (param != null) {
for (int i = 0; i < param.length; i++) {
pst.setString(i + 1, param[i]);
}
}
rs = pst.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
// public static void main(String[] args){
// try {
// DBConnection.getConnection();
// String sql ="select * from t_gtype t1,t_gtype t2 where t1.gtparId=t2.gtid and t2.gtid=42";
//
// ResultSet rs = DBConnection.executeQuery(sql, null);
// boolean flag = false;
// while(rs.next()){
// flag = true;
// System.out.print("flag======"+flag);
// }
// flag = false ;
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.getMessage();
// }
// }
}
分享到:
相关推荐
JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): DataSource:数据源 DriverManager:驱动管理 Driver:JDBC驱动 Connection:数据库连接 Statement:语句,执行SQL PrepareStatement:...
赠送jar包:sqlite-jdbc-3.15.1.jar; 赠送原API文档:sqlite-jdbc-3.15.1-javadoc.jar; 赠送源代码:sqlite-jdbc-3.15.1-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.15.1.pom; 包含翻译后的API文档:...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16....
赠送jar包:sqlite-jdbc-3.34.0.jar; 赠送原API文档:sqlite-jdbc-3.34.0-javadoc.jar; 赠送源代码:sqlite-jdbc-3.34.0-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.34.0.pom; 包含翻译后的API文档:...
1、在应用中jdbc url最前面添加jdbc:log4;比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@x.x.x.x:1521:dbname; 2、在日志系统中设置jdbc.sqlonly、jdbc.sqltiming等日志级别,可直接将log4jdbc doc中的日志...
jdbc jdbc jdbc jdbc jdbc jdbc jdbc jdbc
它属于 Type 4 JDBC 驱动程序,通过 Java 平台(企业版 5、6 和 7)中可用的标准 JDBC 应用程序接口 (API) 提供数据连接。 适用于 SQL Server 的 Microsoft JDBC Driver 4.1(预览版)与 JDBC 4.0 兼容,并且可以在...
sqljdbc.jar 类库提供对 JDBC 3.0 的支持。 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。 注意: JDBC Driver 2.0 不支持 JRE 1.4。...
SUN JDK 1.6/1.7 64bit的JDBC-ODBC Bridge有个缺陷:会随机抛出异常如下,在所有的ODBC Driver上。 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length at sun.jdbc.odbc....
hive-jdbc
sqlserver驱动包 jdbc驱动 sqljdbc.jar sqljdbc4.jar jdbc连接sqlserver数据库驱动, sqljdbc.jar和sqljdbc4.jar均有
SQL Server JDBC Driver 3.0,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 及更高版本中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 系统要求: •支持的操作系统:...
Microsoft SQL Server JDBC Driver 3.0.JSP驱动。
现在的数据层的开发,大多会使用...但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: ...
JDBC 解析JDBC中文API各种数据库之间的链接问题,网络编程
./logstash-plugin prepare-offline-pack --overwrite --output logstash-input-jdbc.zip logstash-input-jdbc 最后成功会出现以下信息 You can install it with this command `bin/logstash-plugin install file...
JDBC代码 JDBC代码JDBC代码 JDBC代码
JavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源...
《数据库系统概论》课程之实验八,通过JDBC访问数据库。本文件中包含实验报告一份,可运行代码一份与JDBC的驱动jar包。 程序实现了使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,...