当前位置:萝卜系统下载站 > 办公软件教程 > 详细页面

java读取Access数据 完成代码及图文教程

java读取Access数据 完成代码及图文教程

更新时间:2023-07-05 文章作者:未知 信息来源:网络 阅读次数:

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。

连接Access数据库

创建AccessDbUtil类,连接数据库

import java.sql.Connection;

import java.sql.DriverManager;

/**

* 获取Access连接

*

* @author dofun

*

*/

public class AccessDbUtil

{

public static Connection getDbConnection()

{

// 数据库url

String url = "jdbc:Access:///E:ICD10.mdb";

Connection conn = null;

try

{

// 驱动加载

Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();

conn = DriverManager.getConnection(url);

return conn;

}

catch (Exception e)

{

System.out.println("Access连接失败");

}

return conn;

}

}

?

读取Access数据并保存在mysql数据库

获取access数据库连接

查询表数据,并保存

关闭连接资源

/**

* 同步疾病,手术

*

* @return

*/

@RequestMapping(value = "importJbbm")

@ResponseBody

public String importJbbm()

{

// 获取数据库连接

Connection conn = AccessDbUtil.getDbConnection();

PreparedStatement pst = null;

ResultSet rs = null;

Boolean a = true;

int id = 30000;

try

{

for (int i = 1; i > 0; i++)

{

?

// 手术

pst = conn.prepareStatement("select * from sJBBMML where id > " + id + " and LB = 'S' ");

List jbs = new ArrayList<>();

?

rs = pst.executeQuery();

while (a == rs.next())

{

if (StringUtils.isNotBlank(rs.getString(2)))

{

IcdSsbm jb = new IcdSsbm();

jb.setCode(rs.getString(2));

jb.setName(rs.getString(5));

jb.setType(rs.getString(11));

jbs.add(jb);

}

else

{

a = false;

i = 0;

}

// System.out.println(rs.getString(2));

// System.out.println(rs.getString(5));

// System.out.println(rs.getString(11));

}

if (ListUtils.isNotEmpty(jbs))

{

// 批量保存

icdSsbmService.saveBatch(jbs);

}

id += 1000;

}

}

catch (SQLException e)

{

}

finally

{

try

{

// 关闭资源

rs.close();

pst.close();

conn.close();

}

catch (SQLException e)

{

}

}

return "导入完成";

}


问题

如果Access数据库设置了密码,获取连接的时候也加了密码参数,还是出现错误,找不到原因,最后就把Access数据库密码去掉了。

Access的分页问题,一次只能查询出1000条数据,其实Access本身是有分页查询的,只是看起很繁琐我并没有用,而且在数据量大的时候性能并不是很好。所以我是采用循环的形式,简单。

用的是Access_JDBC30.jar,java1.8竟然不支持Access了。网上好像有破解好的驱动,说是破了分页查询的限制


Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html