java jdbc数据库连接_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3508 | 回复: 0   主题: java jdbc数据库连接        下一篇 
jfl
注册用户
等级:少校
经验:1112
发帖:95
精华:0
注册:2012-8-10
状态:离线
发送短消息息给jfl 加好友    发送短消息息给jfl 发消息
发表于: IP:您无权察看 2012-8-27 9:37:19 | [全部帖] [楼主帖] 楼主

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;

public class JDBConnection {

    public Connection conn = null; // 声明Connection对象的实例

    public Statement stmt = null; // 声明Statement对象的实例

    public ResultSet rs = null; // 声明ResultSet对象的实例

    private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定义保存数据库驱动的变量

    private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_ATM";

    private static String dbUser = "sa";

    private static String dbPwd = "sa";

    public JDBConnection(String propertyFileName) {// 带属性文件名的构造方法

    Properties prop = new Properties();// 属性集合对象

    InputStream is = null;

    try {

    is = JDBConnection.class.getClassLoader().getResourceAsStream(

    propertyFileName);// 属性文件输入流

    // is = new FileInputStream("src/" + propertyFileName);

    prop.load(is);// 将属性文件流装载到Properties对象中

    is.close();// 关闭流

    dbClassName = prop.getProperty("dbClassName");

    dbUrl = prop.getProperty("dbUrl");

    dbUser = prop.getProperty("dbUser");

    dbPwd = prop.getProperty("dbPwd");

    } catch (Exception e) {

    System.out.println("属性文件  " + propertyFileName + " 打开失败!");

    }

    try {

    Class.forName(dbClassName);// 1.注册驱动

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    }

    }

    public JDBConnection() {// 默认的不带参数的构造函数

    try {

    Class.forName(dbClassName);// 1.注册驱动

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    }

    }

    public static Connection getConnection() {

    Connection conn = null;

    try {

    // Class.forName(dbClassName);// 1.注册驱动

    conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//2.建立与数据库的链接

    } catch (Exception ee) {

    ee.printStackTrace();

    }

    if (conn == null) {

    System.err

.println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"

 + dbClassName

+ "\r\n链接位置:"

 + dbUrl

+ "\r\n用户/密码"

 + dbUser + "/" + dbPwd);

}

return conn;

}

/*

* 功能:执行查询语句

*/

public ResultSet executeQuery(String sql) {

    try { // 捕捉异常

    conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn

    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,//3.创建语句

    ResultSet.CONCUR_READ_ONLY);

    rs = stmt.executeQuery(sql);//4.执行查询

    } catch (SQLException ex) {

    System.err.println(ex.getMessage()); // 输出异常信息

    }

    return rs; // 返回结果集对象 5.结果处理

}

/*

* 功能:执行更新操作

*/

public int executeUpdate(String sql) {

    int result = 0; // 定义保存返回值的变量

    try { // 捕捉异常

    conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn

    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

    ResultSet.CONCUR_READ_ONLY);

    result = stmt.executeUpdate(sql); // 执行更新操作

    } catch (SQLException ex) {

    result = 0; // 将保存返回值的变量赋值为0

    }

    return result; // 返回保存返回值的变量

}

/*

* 功能:关闭数据库的连接

*/

public void close() {//6.释放资源

    try { // 捕捉异常

    try {

    if (rs != null) { // 当ResultSet对象的实例rs不为空时

    rs.close(); // 关闭ResultSet对象

    }

    } finally {

    try {

    if (stmt != null) { // 当Statement对象的实例stmt不为空时

    stmt.close(); // 关闭Statement对象

    }

    } finally {

    if (conn != null) { // 当Connection对象的实例conn不为空时

    conn.close(); // 关闭Connection对象

    }

    }

}

} catch (Exception e) {

    e.printStackTrace(System.err); // 输出异常信息

}

}

}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论