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
|
package
dao;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
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 DBConn {
static
String url;
// 配置文件
public
static final String ACTIONPATH = "system.properties" ;
// 属性文件
public
static Properties prop;
static
{
// 获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path;
try
{
path = DataAccess. class .getClassLoader().getResource( "" ).toURI().getPath();
FileInputStream fis = new
FileInputStream( new
File(path + ACTIONPATH));
// 把文件读入文件输入流
prop = new
Properties();
//加载文件流
prop.load(fis);
//读取数据库地址
String dbpath = prop.getProperty( "dbPath" );
//以下2种url任选其一。如果选择配置数据源,则上面代码读取配置文件,读取数据库地址就不需要了。这里我是为了方便所有写成了配置文件。
url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="
+ dbpath; //不用配置数据源,但是要加一个驱动。我用的是Access_JDBC30.jar,直接搜索下载就可以了
// url = "jdbc:odbc:mydb"; //需要配置数据源:控制面板->管理工具->数据源(ODBC)->系统DNS,添加一个数据源。名称与程序里的名字对应,这里是mydb。数据库选择相应的access文件。 System.out.println(url);
} catch
(URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch
(FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch
(IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (url == null ){
System.out.println( "数据库地址无法加载" );
}
}
public
Connection getConnection() {
Connection conn = null ;
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
} catch
(ClassNotFoundException e) {
e.printStackTrace();
}
try
{
conn = DriverManager.getConnection(url);
} catch
(SQLException e) {
System.out.println( "数据库连接失败" );
e.printStackTrace();
}
return
conn;
}
} |