1. Trang chủ
  2. » Luận Văn - Báo Cáo

Natural programming model Mô hình lập trình tự nhiên NHibernate

50 181 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 1,47 MB

Nội dung

NHibernate là một cảng của Hibernate Core cho Java vào Framework. NET và một số ứng dụng khác. Nó kiên trì xử lý các đối tượng đồng bằng NET. Đến và từ một CSDL quan hệ cơ bản. Với một mô tả XML của các thực thể và mối quan hệ.NHibernate tự động tạo SQL cho tải và lưu trữ các đối tượng. NHibernate không phải theo một mô hình lập trình hạn chế.

Nhibernate I Mô tả II Hoạt động I Mô tả Khái Niệm Lịch Sử Chức NHibernate cảng Hibernate Core cho Java vào Framework NET số ứng dụng khác Nó kiên trì xử lý đối tượng đồng NET Đến từ CSDL quan hệ Với mô tả XML thực thể mối quan hệ NHibernate tự động tạo SQL cho tải lưu trữ đối tượng NHibernate theo mô hình lập trình hạn chế Các lớp học liên tục không cần phải thực giao diện hay kế thừa từ lớp sở đặc biệt Điều làm cho thiết kế logic kinh doanh cách sử dụng đồng NET ( CLR) đối tượng thành ngữ hướng đối tượng NHibernate khơng phải theo mơ hình lập trình hạn chế Các lớp học liên tục không cần phải thực giao diện hay kế thừa từ lớp sở đặc biệt Điều làm cho thiết kế logic kinh doanh cách sử dụng đồng NET ( CLR) đối tượng thành ngữ hướng đối tượng  NHibernate bắt đầu Tom Barrett, sau chỉnh sửa Mike Doerfler Peter Smulovics  Vào cuối năm 2005, JBoss , Inc (nay phần Red Hat ) thuê Sergey Koshcheyev, sau dẫn dắt phát triển NHibernate, để làm việc toàn thời gian phiên tương lai  Vào cuối năm 2006 JBoss ngừng hỗ trợ để dự án này; ngày hồn tồn phát triển cộng đồng CÁC PHIÊN BẢN CỦA NHIBERNATE  Phiên 1.0 nhân đơi tính thiết lập Hibernate 2.1, số tính từ Hibernate  NHibernate 1.2.1, phát hành vào tháng mười năm 2007 , giới thiệu thêm nhiều tính từ Hibernate hỗ trợ cho, NET 2,0 stored procedures , generics, loại nullable  NHibernate 2,0 phát hành ngày 23 Tháng Tám 2008 Nó so sánh với Hibernate 3.2 tính năng.Với phiên 2.0 phát hành, NHibernate bỏ hỗ trợ 1.1 NET  NHibernate 2,1 phát hành 17 tháng năm 2009  NHibernate 3,0 phiên sử dụng NET 3.5 tính  Tính NHibernate ánh xạ từ loại NET lớp học CSDL để bàn (và CLR từ liệu SQL loại liệu)  Natural programming model - Mơ hình lập trình tự nhiên - NHibernate hỗ trợ thành ngữ OO tự nhiên; thừa kế, đa hình, thành phần, sưu tập, bao gồm sưu tập chung  Support for fine-grained object models Hỗ trợ cho mơ hình đối tượng hạt tinh - loại phong phú ánh xạ cho sưu tập phụ thuộc đối tượng tính  No build-time bytecode enhancement Khơng có thời gian tăng cường bytecode-xây dựng khơng có mã số hệ phụ bước chế biến bytecode thủ tục xây dựng  The query options -Các truy vấn lựa chọn - NHibernate địa hai mặt vấn đề; không làm để có đối tượng vào CSDL, mà cịn làm để có họ trở lại  Custom SQL - Custom SQL - xác định xác SQL NHibernate nên sử dụng để kéo dài đối tượng bạn Stored procedures are supported on Microsoft SQL Server thủ tục lưu trữ hỗ trợ Microsoft SQL Server tính  Support for "conversations“- Hỗ trợ cho "cuộc hội thoại" - NHibernate hỗ trợ hoàn cảnh sống bền bỉ, lâu dài, tháo / lắp lại đối tượng, chăm sóc khóa tự động lạc quan  NHibernate cung cấp liệu truy vấn phương tiện cứu  NHibernate tạo lệnh SQL giúp nhà phát triển từ liệu hướng dẫn sử dụng xử lý chuyển đổi đối tượng, lưu giữ ứng dụng di động cho hầu hết CSDL SQL, với Portability CSDL không thực giao  Free/open source - Miễn phí / mã nguồn mở - NHibernate cấp phép theo LGPL (Lesser GNU Public License) Tìm hiểu Nhibernate Cài đặt NHibernate Định nghĩa lớp đối tượng kinh doanh đơn giản Tạo đồ NHibernate để tải lưu đối tượng kinh doanh Cấu hình NHibernate để thao tác với sở liệu địa phương bạn Tự động tạo sở liệu Viết đơn giản CRUD mã cách sử dụng mơ hình Repository THIẾT LẬP TRUY VẤN ĐẾN CSDL  Tạo class SinhVienTruyvan.cs Với lớp tạo hàm Isert ,Delete,Update,Load CSDL SELECT public static DataTable GetTable() { DataTable dt = new DataTable(); OleDbConnection cn; cn = DataProvider.ConnectionData(); string strSQL; strSQL = "Select * From Sach"; OleDbDataAdapter da; da = new OleDbDataAdapter(strSQL, cn); da.Fill(dt); cn.Close(); return dt; } Examining INSERTs with NHibernate INSERT public static void Add(SinhVien sv) { ISession session = NHibernateHelper.GetCurrentSession(); ITransaction transaction = session.BeginTransaction(); session.Save(sv); session.Flush(); transaction.Commit(); NHibernateHelper.CloseSession(); } Examining DELETEs with NHibernate DELETE public static void Add(SinhVien sv) { ISession session = NHibernateHelper.GetCurrentSession(); ITransaction transaction = session.BeginTransaction(); session.Delete(sv); session.Flush(); transaction.Commit(); NHibernateHelper.CloseSession(); } Patern is sample: Patern is sample: • Flush the ISession Patern is sample: • Ask the Isession to Update it Patern is sample: • Change a property Examining UPDATEs with NHibernate • Have an object UPDATE public static void Add(SinhVien sv) { ISession session = NHibernateHelper.GetCurrentSession(); ITransaction transaction = session.BeginTransaction(); session.Update(sv); session.Flush(); transaction.Commit(); NHibernateHelper.CloseSession(); } INDENTIFYING ANNOYANCES IN THESE USAGE PATTERN  Allows call like session.SaveOrUpdate(sv);  Nhibernate will … Check if the object is in the sesion If its not there,call Implicit Save(sv); If its there ,check to see it the object is “dirty”(changed) If its dirty,call implicit Update(sv);  SaveOrUpdate() relieves us of having to keep track of “dirty” state ourselves CRUD hoạt động  Hệ thống sẵn sàng để bắt đầu Đã thực thành công tên miền, quy định tập tin Mapping NHibernate Config Cuối sử dụng NHibernate để tự động tạo lược đồ CSDL từ tên miền(và tập tin lập đồ)  Giao diện repository phần tên miền  Thêm thư mục BUS thuộc dự án SinhVienNHibernate  Thêm giao diện class có tên SinhVienBUS Xác định giao diện sau : using System; using System.Collections.Generic; namespace ThuVienNHibernate.BUS {( public class SinhVienTruyvanBUS {( public static void AddSv(SinhVien sv); public static void RemoveSv(SinhVien sv); public static void UpdateSv(SinhVien sv); }) })  Dịng _SessionFactory = config.BuildSessionFactory() Đây q trình tốn nên thực lần Đó lý đặt vào phương pháp thực lần chu kỳ kiểm tra  Để giữ hiệu lực thử nghiệm phương pháp, lại tạo CSDL schema trước thực phương pháp thử nghiệm  Đó NHibernate theo mặc định cấu hình để sử dụng tải lazy cho tất thực thể Đó cách tiếp cận đề nghị khuyên bạn nên nồng nhiệt để thay đổi cho tối đa tính linh hoạt  Bây sẵn sàng để thực phương pháp khác Repository  Đối với thử nghiệm này, thay có kho lưu trữ (có nghĩa CSDL bảng) có chứa số sản phẩm Chỉ cần thêm phương pháp để CreateInitialData lớp kiểm tra Cảm ơn người quan tâm theo dõi!!! Chúc thành công!!! ... tính  Tính NHibernate ánh xạ từ loại NET lớp học CSDL để bàn (và CLR từ liệu SQL loại liệu)  Natural programming model - Mơ hình lập trình tự nhiên - NHibernate hỗ trợ thành ngữ OO tự nhiên; thừa... Đến từ CSDL quan hệ Với mô tả XML thực thể mối quan hệ NHibernate tự động tạo SQL cho tải lưu trữ đối tượng NHibernate theo mơ hình lập trình hạn chế Các lớp học liên tục không cần phải thực... kinh doanh Cấu hình NHibernate để thao tác với sở liệu địa phương bạn Tự động tạo sở liệu Viết đơn giản CRUD mã cách sử dụng mơ hình Repository Cài Đặt Nhibernate  Tải xuống tập tin NHibernate- 2.1.2.GA-bin

Ngày đăng: 10/04/2018, 22:20

TỪ KHÓA LIÊN QUAN

w