首頁  >  文章  >  專題  >  java實作連接access資料庫並讀取資料的操作

java實作連接access資料庫並讀取資料的操作

王林
王林轉載
2020-11-19 15:18:583817瀏覽

java實作連接access資料庫並讀取資料的操作

具體步驟如下:

一、連接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 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.net。如有侵權,請聯絡admin@php.cn刪除