注意:web运行读取要把配置文件放在WEB-INF下面

Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://192.168.33.170;DatabaseName=Platform_U_v3.0
userName=xxzx
password=xxzx

从上到下依次为驱动  数据库连接  账号 密码

package com.bowei.utl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
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 JdbcUtl {
// 数据库驱动
private static String Driver = "";
// 数据库地址
private static String url = "";
// 数据库用户名
private static String userName = "";
// 数据库密码
private static String password = "";
static {
Properties p = new Properties();
try {
// 通过相对路径加载文件
String path=Thread.currentThread().getContextClassLoader().getResource("").toString();
path=path.replace('/', '\\'); // 将/换成\
path=path.replace("file:", ""); //去掉file:
path=path.replace("classes\\", ""); //去掉class\
path=path.substring(1); //去掉第一个\,如 \D:\JavaWeb...
path+="sof/jdbc.properties";
p.load(new FileInputStream(new File(path)));
// 用getProperty方法通过关键字获取信息
Driver = p.getProperty("Driver");
url = p.getProperty("url");
userName = p.getProperty("userName");
password = p.getProperty("password");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} public static String getDriver() {
return Driver;
} public static void setDriver(String driver) {
Driver = driver;
} public static String getUrl() {
return url;
} public static void setUrl(String url) {
JdbcUtl.url = url;
} public static String getUserName() {
return userName;
} public static void setUserName(String userName) {
JdbcUtl.userName = userName;
} public static String getPassword() {
return password;
} public static void setPassword(String password) {
JdbcUtl.password = password;
} // 获取数据库连接
public static Connection getConn() {
Connection conn = null;
try {
// 加载驱动
Class.forName(Driver);
// 获取数据库连接
conn = DriverManager.getConnection(url, userName, password); } catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
} // 关闭数据库资源
public static void closeAll(ResultSet rs, Statement stat, Connection conn) {
/* 分别按顺序关闭数据库的结果集资源,Statement 对象资源以及Connection 连接数据库对象 */
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }
}

最新文章

  1. 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法
  2. AjaxStudyNote
  3. SpringMVC之controller篇
  4. Unity3D 为什么保存Transform等引用效率会更高
  5. 第四章 面向对象与IO操作
  6. STL简单应用问题
  7. win7下如何安装JDK
  8. iOS 调用地图导航
  9. php 代码大全
  10. 【转】android MSM8974 上DeviceTree简介----不错
  11. 51单片机C语言学习笔记7:关于.c文件和.h文件
  12. Linux的标准输出、标准错误输出、nohup
  13. HTTP协议(超文本传输协议)
  14. ABP-N层架构
  15. 基于EF Core的Code First模式的DotNetCore快速开发框架
  16. 在C++遇到有些关键字或者函数被弃用的情况
  17. Python @property 详解
  18. style样式不换行
  19. Hacker一月间
  20. 七、Django模型基础第二节——常用查询

热门文章

  1. php短信发送
  2. 【maven 报错】maven项目update之后报错One or more constraints have not been satisfied.
  3. Playmaker Input篇教程之PlayMaker菜单概述
  4. 贪心 POJ 2109 Power of Cryptography
  5. MVC 使用HandleErrorAttribute统一处理异常
  6. POJ2699 The Maximum Number of Strong Kings(最大流)
  7. lua 循环
  8. [Algorithms(Princeton)] Week1 - Percolation
  9. WebRTC手记之本地视频采集
  10. [插头DP自我总结]