java8 access_Java语言8 连接Access数据库UCanAccess的操作介绍

本文主要向大家介绍了Java语言8 连接Access数据库UCanAccess的操作介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

Java8 中JDK1.8中不再包含access桥接驱动,因此不再支持jdbcodbc桥接方式。 解决方法:

1.java Access JDBC jar包:Access_JDBC30.jar使用导入数据库相应的jar包,进行连接。 2.UCanAccess是一个Microsoft Access的开源JDBC驱动实现

支持 Access 2000、2003、2007、2010 及后续高版本 支持 SELECT, INSERT,UPDATE,DELETE 语句。 事务和savepoints。 支持数据类型:YESNO,BYTE,INTEGER,LONG,SINGLE,DOUBLE,NUMERIC,CURRENCY,COUNTER,TEXT,OLE,MEMO,GUID,DATETIME。 支持多用户并发访问。 支持连接池。 支持MS Access SQL。 限制:

只支持基本的DDL操作。 较差的多进程访问支持。 maven配置:

net.sf.ucanaccess

ucanaccess

4.0.1

连接工具类

package com.hyman.date0702_0708.accessdb;

import java.sql.*;

/**

* @program: javalearning

* @Date: 2018/7/11 11:03

* @Author: hyman.hu

* @Description: 工具类

*/

public class AccessDBUtils {

private static final String dbURL = "jdbc:ucanaccess://" +

"C:\\Users\\skysoft\\Desktop\\天软物料管理系统\\hyman.accdb";

/*

* 加载驱动

*/

static {

try {

// Step 1: Loading or registering Oracle JDBC driver class

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

} catch (ClassNotFoundException cnfex) {

System.out.println("Problem in loading or registering MS Access JDBC driver");

cnfex.printStackTrace();

}

}

//建立连接

public static Connection getConn() {

try {

// Step 2: Opening database connection

// Step 2.A: Create and get connection using DriverManager class

return DriverManager.getConnection(dbURL);

} catch (Exception e) {

System.out.println("AccessDB connection fail");

e.printStackTrace();

}

return null;

}

// 关闭资源

public static void close(Connection con, PreparedStatement ps, ResultSet rs) {

try {

if (rs != null)

rs.close();// 这里出现异常了,rs关闭了吗?,如果没有怎么解决,ps , con也是一样的。

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

if (ps != null)

ps.close();

} catch (SQLException e) {

e.printStackTrace();

} finally {

if (con != null)

try {

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

查询简单封装工具类

package com.hyman.date0702_0708.accessdb;

import java.lang.reflect.Field;

import java.sql.*;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

/**

* @program: javalearning

* @Date: 2018/7/11 13:56

* @Author: hyman.hu

* @Description: DB工具类

*/

public class DBUtils {

/**

* 增加、删除、改

*

* @param sql sql

* @param params 参数

* @return 添加结果

*/

public static boolean update(String sql, List params) throws SQLException {

int result = -1;

Connection conn = null;

PreparedStatement ps = null;

try {

conn = AccessDBUtils.getConn();

assert conn != null;//直接抛异常

ps = conn.prepareStatement(sql);

int index = 1;

if (params != null && !params.isEmpty()) {

for (Object param : params) {

ps.setObject(index++, param);

}

}

result = ps.executeUpdate();

} catch (Exception e) {

e.printStackTrace();

try {

assert conn != null;

conn.rollback();

} catch (SQLException e1) {

e1.printStackTrace();

}

throw e;

} finally {

AccessDBUtils.close(conn, ps, null);

}

return result > 0;

}

/**

* 查询多条记录

*

* @param sql sql

* @param params 参数

* @return 查询结果

*/

public static List> select(String sql, List params) throws SQLException {

List> list = new ArrayList<>();

int index = 1;

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值