• 技术文章 >专题 >Access

    java实现连接access数据库并读取数据的操作

    王林王林2020-11-19 15:18:58转载2466

    具体步骤如下:

    一、连接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数据库

    1、获取access数据库连接

    2、查询表数据,并保存

    3、关闭连接资源

    /**
         * 同步疾病,手术
         * 
         * @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<IcdSsbm> 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了。网上好像有破解好的驱动,说是破了分页查询的限制。

    推荐教程:access数据库教程

    以上就是java实现连接access数据库并读取数据的操作的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:java access 数据库
    上一篇:access窗体的六种类型分别是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • access数据库的基本操作• Access数据库连接错误解决办法• access数据库文件的扩展名是什么?• access数据库的主要对象包括哪些
    1/1

    PHP中文网