使用JDBC访问微软Access数据库实例

120 篇文章 1 订阅
45 篇文章 0 订阅

之前有使用ODBC来访问Access数据库的,但不方便.  

是否可以使用JDBC访问, 网上的说法不一, 也很少有实例参考.

//        access由于access并不是作为一项服务运行,所以url的方法对他不适用。  (其实这个是不对的.)


//        https://zhuanlan.zhihu.com/p/441219492
//        Access2013开始,将不再支持ODBCDirect(DAO odbc连接SqlServer常用)错误3847
//
//        实际上,是可以使用 纯JDBC驱动访问access的


//        使用驱动:ucanaccess
//        https://mvnrepository.com/artifact/net.sf.ucanaccess/ucanaccess

以下是使用JDBC访问微软Access数据库详细实例:

1. Access里stu表的数据 

2. java源码 

以下是直接使用JDBC进行编码的.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * @author Kingstar
 * @since  1.0
 */
public class AccessDbTest {
	public static void main(String[] args){
		try {
		Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
		Connection conn=DriverManager.getConnection("jdbc:ucanaccess://d:/school.accdb");
		Statement stmt=conn.createStatement() ;
		ResultSet rs=stmt.executeQuery("select * from stu");
		while (rs.next()) {
			System.out.println(rs.getString(1));
			System.out.println(rs.getString(2));
			System.out.println(rs.getString(4));
		}
		System.out.println("finished...");
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("e:"+e.getMessage());
		}
		System.out.println("finished");
	}
}

日志

1
zhang shan
twitter被收购了
2
李四
哈哈。。。
finished...
finished

使用JDBC,需要自己写sql语句, 自己写获取字段结果的代码,  这种代码可以交给ORM去完成.

以下是使用ORM  Bee查询的结果.

3. Bee 访问Access数据库实例

3.1 添加配置信息

在bee.properties里添加联系数据库的配置信息.

bee.db.url=jdbc:ucanaccess://d:/school.accdb
bee.db.driverName=net.ucanaccess.jdbc.UcanaccessDriver
bee.osql.loggerType=systemLogger

使用面向对象访问DB, 需要准备表对应的Javabean. 可以使用Bee自动生成.

3.2  Bee 访问Access数据库的Java源码

import java.util.List;

import org.teasoft.bee.osql.Suid;
import org.teasoft.honey.osql.shortcut.BF;

import test.entity.Stu;

/**
 * Bee 访问Access数据库实例
 * @author Kingstar
 * @since  1.0
 */
public class AccessDbTest2 {
	
	public static void main(String[] args){
		Suid suid=BF.getSuid(); //获取Select,Update,insert,Delete的SQL操作对象
		List<Stu> list=suid.select(new Stu());  //查询stu表的数据
		for (int i = 0; i < list.size(); i++) {
			System.out.print(list.get(i).getName()+"   ,  ");
			System.out.println(list.get(i).getAge());
		}
		System.out.println("finished");
	}
}

3.3 日志

2022-11-04 23:46:16 [Bee] select SQL: select id,name,age from stu
2022-11-04 23:46:16 [Bee]  | <--  select rows: 2
zhang shan   ,  22
李四   ,  23
finished

4. 要是Access里加了密码保护

连接会复杂些.

有需要的伙伴可到Q群里问.

992650213

Bee,互联网新时代的Java ORM框架,支持Sharding;JDBC,Android,HarmonyOS;更快、更简单、更自动,开发速度快,运行快,更智能!

https://github.com/automvc/bee

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值