2012-02-27 37 views

Trả lời

0

Spring JDBC? Tôi chỉ biết một vài mẫu Spring JDBC Templates.

Chúng cho phép bạn truy cập chức năng JDBC từ bên trong vùng chứa Spring và chúng cung cấp một số đơn giản hóa bổ sung so với JDBC đơn giản, như quản lý kết nối và xử lý ngoại lệ.

Về cơ bản Spring khó thiết lập hơn nhưng dễ phát triển hơn, vì vậy tất cả phụ thuộc vào phạm vi của sự cố bạn đang xử lý.

2

Xuân JDBC giá trị gia tăng được cung cấp bởi trên lớp JDBC đầu

  1. Xác định kết nối khung của mùa xuân thông số
  2. Mở kết nối
  3. Xác định tuyên bố
  4. Chuẩn bị và thực hiện báo cáo kết quả
  5. Thiết lập vòng lặp để lặp qua các kết quả (nếu có)
  6. Thực hiện công việc cho mỗi lần lặp lại
  7. Process bất kỳ ngoại lệ
  8. giao dịch Xử lý
  9. Đóng kết nối

Về cơ bản, bạn không cần phải lo lắng về việc quản lý và bị cơ sở hạ tầng mã/hệ thống ống nước và hoàn toàn lo lắng về dữ liệu và lập bản đồ của nó để các đối tượng.

Mùa xuân sử dụng mẫu Mẫu để ẩn tất cả chi tiết cấp thấp trong khi cung cấp cho bạn các móc mở rộng để mở rộng và làm việc với JDBC.

Ngoài ra, có một API được xác định rõ đối với trường hợp ngoại lệ cơ sở dữ liệu, đó thực sự là nhà phát triển thân thiện khi so sánh với hệ thống phân cấp ngoại lệ được cung cấp bởi mức thấp JDBC API

+0

Vui lòng trích dẫn nguồn của bạn khi bạn có thể: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html Tất cả hơn trong trường hợp này vì một số các mục được liệt kê không được Spring cung cấp. – user183037

16

Hãy để tôi chỉ cho bạn một số ví dụ đơn giản sử dụng JDBC:

final Connection connection = ds.getConnection(); 
try { 
    final Statement statement = connection.createStatement(); 
    try { 
     final ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders"); 
     try { 
      resultSet.next(); 
      final int c = resultSet.getInt(1); 
     } finally { 
      resultSet.close(); 
     } 
    } finally { 
     statement.close(); 
    } 
} finally { 
    connection.close(); 
} 

Đó là tốt hơn nhiều khi thử với các nguồn tài nguyên mặc dù:

try (
     Connection connection = ds.getConnection(); 
     Statement statement = connection.createStatement(); 
     ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders"); 
) { 
    resultSet.next(); 
    final int c = resultSet.getInt(1); 
} 

Tất nhiên bạn có thể trích xuất mã phổ biến và sử dụng phương thức mẫu Mẫu thiết kế. Một cách hiệu quả bạn muốn tái JdbcTemplate:

final int c = new JdbcTemplate(ds).queryForInt("SELECT COUNT(*) FROM Orders"); 

Cũng mùa xuân JDBC cung cấp dịch ngoại lệ (không kiểm tra SQLException và khác nhau giữa cơ sở dữ liệu/phương ngữ) và khả năng ORM đơn giản.

1

1.) Mô-đun jdbc mùa xuân là một lớp trừu tượng trên công nghệ jdbc, lớp này tránh được mã tấm lò hơi được sử dụng trong lập trình jdbc. 2.) Mô-đun ORM mùa xuân là một lớp trừu tượng trên các công cụ ORM hàng đầu. 3.) Khi làm việc với các công cụ ORM như hibernate một lần nữa chúng ta có một mã tấm Boiler trong lớp ORM mùa xuân này tránh được mã mảng của các công cụ ORM.