Les étapes spécifiques sont les suivantes :
1. Connectez-vous à la base de données Access
Créez la classe AccessDbUtil et connectez-vous à la base de données
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. Lisez les données d'accès et enregistrez-les dans la base de données mysql
1 Obtenez la connexion à la base de données d'accès
2. Interrogez les données de la table et enregistrez-les
. 3. Fermez la ressource de connexion
/** * 同步疾病,手术 * * @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 "导入完成"; }
Problème :
Si la base de données Access a un mot de passe défini et que le paramètre de mot de passe est ajouté lors de l'obtention de la connexion, une erreur se produit toujours et la raison ne peut pas être trouvé, le mot de passe de la base de données Access est donc finalement supprimé.
Access a un problème de pagination. Seuls 1 000 éléments de données peuvent être interrogés à la fois. En fait, Access lui-même a une requête de pagination, mais cela semble très fastidieux et je n'en ai aucune utilité, et les performances sont. pas très bon lorsque la quantité de données est bonne. J'adopte donc la forme de boucle, qui est simple.
Access_JDBC30.jar est utilisé, mais java1.8 ne prend pas en charge Access. Il semble y avoir un pilote cracké sur Internet, qui briserait la limitation des requêtes de pagination.
Tutoriel recommandé : Tutoriel sur l'accès à la base de données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!