最近需要用
java做一个小功能,需要链接access
数据库,在网上找了好多,方法都差不多,现总结下,供
大家参考。
我的office版本是2010的,所以access
数据库文件的后缀是.accdb,在发布系统的时候,数据库文件放在项目中跟tomcat一起发布,这样方便部署。
1、获取
数据库路径:
// 获取
数据库文件路径
public static String getPath(){
String path = "";
String projectName="Test";
path = System.getProperty("user.dir"); // 获取到tomcat的bin目录地址
path = path.replace("bin", "
webapps")+"\\"+projectName+"\\Data\\test.accdb";
return path;
}
2、建立
数据库连接:
url中,*.mdb, *.accdb 这两个之间要有空格,否则会报错误:
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序;
PWD是
数据库密码,如果没有的话可以不用写。
// 建立
数据库链接
public static Connection getConnection() throws SQLException, ClassNotFoundException{
String path = getPath();
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+path+" ;PWD=123456789";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(url);
return conn;
}
3、简单查询数据:
// 根据SQL语句,返回查询结果的第一行第一列
public static String getScalar(String strSQL) {
String rValue = "";
Connection conn = null;
try {
conn = getConnection();
Statement st = conn.createStatement();
//System.out.println(strSQL);
ResultSet rs = st.executeQuery(strSQL);
if (rs.next()) {
rValue = rs.getString(1);
}
rs.close();
st.close();
conn.close();
} catch (Exception e) {
System.out.println("
数据库连接发生错误,错误信息:" + e.toString());
} finally {
try {
if (conn != null ;; !conn.isClosed())
conn.close();
} catch (SQLException ex1) {
System.out.println("
数据库关闭发生错误,错误信息:" + ex1.toString());
}
}
return rValue;
}
就先写到这里了,第一次写博客,有写的不好的地方或者代码不合适的地方欢迎大家指点