自己封装的java读取Access数据库文件的工具类,样例数据查看器等在附件中
package show; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.Properties; /** * 操作Access数据库文件的工具类 * @author zhLin *@Date 2017-3-29 */ public class ReadAccessUtils { /**驱动名称**/ public static final String accessDriverName = "sun.jdbc.odbc.JdbcOdbcDriver"; /**Access数据库连接前缀**/ public static final String url_prefix = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="; /**用户名字段**/ public static final String cons_user = "user"; /**密码字段**/ public static final String cons_password = "password"; /**获取到表Access数据库文件中所有表名**/ public static List<String> getAccessTablesName(String fileFullPath){ List<String> nameList = new ArrayList<String>(); Connection conn =getAccessConnection(fileFullPath); DatabaseMetaData meta; try { meta = conn.getMetaData(); ResultSet rs = meta.getTables(null, null, null,new String[] { "TABLE" }); while (rs.next()) { nameList.add(rs.getString(3)); } rs.close();//关闭结果集 } catch (SQLException e) { e.printStackTrace(); }finally{ try { conn.close();//关闭连接 } catch (SQLException e) { e.printStackTrace(); } } return nameList; } /**得到查询表的列信息**/ public static List<String> getAccessColumnsName(String fileFullPath,String tableName){ List<String > colNameList = new ArrayList<String>(); Connection conn = getAccessConnection(fileFullPath); String sql = "select * from "+tableName; ResultSet rs=null; try { Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql);//执行查询 ResultSetMetaData data=rs.getMetaData();//获取到列信息 int cnt = data.getColumnCount();//获取到列总数 for(int i =1;i<=cnt;i++){//遍历列,从1开始 colNameList.add(data.getColumnName(i)); } rs.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return colNameList; } /** * 返回数据列表 * 第一行为列名,后面为值 * **/ public static List<List<String>> getAccessDataLists(String fileFullPath,String tableName){ List<List<String>> dataLists = new ArrayList<List<String>>();//返回结果集 List<String > colList = new ArrayList<String>();//列名集合 Connection conn = getAccessConnection(fileFullPath);//数据库连接 String sql = "select * from "+tableName; ResultSet rs=null; try { Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql);//执行查询 ResultSetMetaData data=rs.getMetaData();//获取到列信息 int cnt = data.getColumnCount();//获取到列总数 for(int i =1;i<=cnt;i++){//遍历列,从1开始 colList.add(data.getColumnName(i)); } //第一行插入列名 dataLists.add(colList); while(rs.next()) {//遍历结果集 colList = null; colList = new ArrayList<String>(); for(int i =1;i<=cnt;i++)//遍历列,从1开始 colList.add(rs.getString(i)); //插入数据列 dataLists.add(colList); } rs.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return dataLists; } /**依据Access数据库文件路径,获取到数据库连接**/ public static Connection getAccessConnection(String fullFilePath){ String url=url_prefix+fullFilePath; //文件地址 Connection conn = null; Properties prop = new Properties(); prop.put("charSet", "gb2312"); //这里是解决中文乱码 prop.put(cons_user, ""); prop.put(cons_password, ""); try { conn = DriverManager.getConnection(url,prop); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void main(String[] args) { String filePath = "D:\\Develop_tool\\Test\\Northwind.mdb"; List< List<String>> dataList = getAccessDataLists(filePath,"雇员"); for (List<String> list:dataList){ for(String value:list){ System.out.print("\t"+value); } System.out.println(); } } }
相关推荐
java工具类 1、Oracle8/8i/9i数据库(thin模式) 2、DB2数据库 3、SQL Server7.0/2000数据库 4、Sybase数据库 5、Informix数据库 6、MySQL数据库 7、PostgreSQL数据库 8、access数据库直连用ODBC的
* 获得与数据库的连接 * * @param path * @return Connection */ public static Connection getConn(String classDriver, String url, String user, String pwd) { try { Class.forName(class...
数据库同步工具:基于Java开发,包含22个文件,包括9个Java类文件、2个Markdown文档、2个JAR包文件、2个XML配置文件、2个Properties配置文件、1个.gitignore文件、1个LICENSE文件、1个PNG图像文件、1个GIF图像文件、...
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。...8、access数据库使用ODBC直连
* Title: 数据库工具类 * * * Description: 将大部分的数据库操作放入这个类中, 包括数据库连接的建立, 自动释放等. * * * @author beansoft 日期: 2004年04月 * @version 2.0 */ public class ...
在封装SQL语句之前,我们得知道什么是DAO封装与实体类以及JDBC工具类的封装与连接数据库的具体流程。 封装SQL语句的好处: 封装SQL语句后就可以导包,给其他的工程使用,大大降低开发的强度,减少代码的冗余。...
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
BDB是跨数据库平台的数据库设计和自动安装工具、 支持Oracle、MS SQLServer、Access、MySQL、SQLAnyWhere、Sybase数据库。 通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。 同时它还可以...
JDK1.8连接Access数据库-驱动-----Access_JDBC30.jar JDK1.8连接Access数据库-驱动-----Access_JDBC30.jar
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
java写的FTP工具,登陆用的是access 数据库,支持多用户登陆。数据库在database文件夹里面,初始登陆名lhz,密码123。
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
VB 三层结构中实体和实体操作类 Java MVC 模式下Bean和 Action类 MSSQL 表操作存储过程的示例 (update, insert, delete) 支持数据字典生成 生成格式可以是 Word 或Excel 格式 支持简单的 SQL 语句...
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
生成实体类工具源码,可以生成C#,Java的实体类,支持Access,SqlServer,Oracle数据库。我也是网上找到的,供大家学习参考下!
开放的数据库物理结构文件格式(XML标准格式),并提供了外部调用数据库结构源程序 (包含C#/Delphi/JAVA三个版本)。 <br>11,支持多语言。 可根据需要增加新的语言包。 <br> <br>
一、数据库工具类 1、com.baijob.commonTools.db.ds C3p0Ds 和 DruidDs分别是两种连接池的实现,依赖于数据库配置文件,配置文件的样例参考config/db-example.setting 使用时将db-example.setting复制于${...