网站首页 > 精选教程 正文
java jdbc数据库连接
Java code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | 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); // 输出异常信息 } } } |
如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!
猜你喜欢
- 2024-12-06 SQL注入详解和SQL注入之超详细sqlmap使用攻略
- 2024-12-06 SQL2008评估期已过期解决方法
- 2024-12-06 网络安全/信息安全/渗透必学SQL注入技巧
- 2024-12-06 数据库调优-连接池优化
- 2024-12-06 SQL Server2016入门知识—— SQL Server2016安装
- 2024-12-06 SQL Server 中的异常处理
- 2024-12-06 Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?
- 2024-12-06 数据库sql优化总结之5--数据库SQL优化大总结
- 2024-12-06 实时同步数据库变更,这个框架真是神器
- 2024-12-06 详细Android连接远程的MySQL数据库实例
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)