ホームページ  >  記事  >  トピック  >  Javaはデータベースにアクセスしてデータを読み込む操作を実装します。

Javaはデータベースにアクセスしてデータを読み込む操作を実装します。

王林
王林転載
2020-11-19 15:18:584073ブラウズ

Javaはデータベースにアクセスしてデータを読み込む操作を実装します。

具体的な手順は次のとおりです:

1. アクセス データベースに接続します

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;
    }
}

2. 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 のページングの問題は、一度に 1,000 件のデータしかクエリできないことです。実際、Access 自体にもページング クエリがありますが、非常に面倒で使い道がありません。また、パフォーマンスも低下します。データ量が多い場合はあまり良くありません。そこでシンプルなループ形式を採用しました。

Access_JDBC30.jar を使用していますが、java1.8 は Access をサポートしていません。インターネット上には、ページング クエリの制限を破ると言われているクラックされたドライバーがあるようです。

推奨チュートリアル: アクセス データベース チュートリアル

以上がJavaはデータベースにアクセスしてデータを読み込む操作を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。