구체적인 단계는 다음과 같습니다.
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. 액세스 데이터를 읽고 mysql 데이터베이스에 저장합니다. .액세스 데이터베이스 연결을 가져옵니다
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의 페이징 문제는 한 번에 1,000개의 데이터만 쿼리할 수 있다는 점입니다. 사실 Access 자체에도 페이징 쿼리가 있지만 굉장히 번거롭고 쓸데도 없고 성능도 별로 좋지 않습니다. 데이터의 양이 많을 때. 그래서 저는 간단한 루프 형태를 채택했습니다.
Access_JDBC30.jar을 사용하고 있는데 java1.8은 Access를 지원하지 않습니다. 인터넷상에 크랙된 드라이버가 있는 것 같은데, 이는 페이징 쿼리의 한계를 깨뜨린다고 합니다.
추천 튜토리얼:
데이터베이스 액세스 튜토리얼위 내용은 Java는 데이터베이스에 접속하여 데이터를 읽는 작업을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!