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;
}
}