Pages

Thứ Tư, 14 tháng 5, 2014

Làm việc với SQL Server dùng JPA trên Netbeans

Trong bài viết này tôi sẽ giới thiệu cách dùng JPA và Netbeans để giúp chúng ta xây dựng ứng dụng java để làm việc với cơ sở dữ liệu.

Chuẩn bị DB

 
create database FptGames
go
use FptGames
go
create table users(
 username char(30) primary key,
 full_name nvarchar(50),
 password char(50) not null,
 email char(50) unique,
 description ntext
)

Tạo project

  • Chọn New Project
  • Chọn Java
  • Chọn Java Application
  • Đặt tên FptGames

Tải và thêm thư viện jdbc vào project

  • Tải ở trang của Microsoft
  • Chạy file tải được để giải nén
  • Click chuột phải vào mục Library của project và chọn Add Jar/Folder


  • Chọn file jdbc4.jar ở thư mục giải nén

Tạo JPA

Tạo entity từ cơ sở dữ liệu:

  • Chọn: New File Persistence Entity from Database


  • Database Connection chọn New Database Connection.
  • Ở mục Driver chọn New Driver.
  • Click vào nút Add để tìm jdbc driver tương ứng
  • Điền các thông tin kết nối:


  • Ở mục Select Schema chọn dbo
  • Chọn Finish


  • Chọn các bảng mà bạn muốn làm việc ở Java sau đó chọn Next
  • Đổi tên các lớp và package (fpt.games.entity), sau đó chọn Next


Chú ý: Việc chọn Create Persistence Unit sẽ tạo ra file Persistence.xml ở thư mục META-INFO để lưu các thông số để kết nối với database và JPA
  • Ở mục Collection Type nên chọn là List để làm việc dễ dàng hơn.
  • Chọn Finish

Tạo JPA Controller

  • Chọn New File Persistence JPA Controller Classes from Entity Classes
  • Chọn các lớp mình muốn điều kiển (chúng ta chọn hết) và package (fpt.games.controller)

Tạo lớp Main để test ở package fpt.games.ui

Chú ý tên của Persistence Unit được dùng để lấy EntityManagerFactory được lấy ở file Persistence.xml ở thư mục META-INFO

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fpt.games.ui;

import fpt.games.controller.UserJpaController;
import fpt.games.controller.exceptions.PreexistingEntityException;
import fpt.games.entity.User;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.Persistence;

/**
 *
 * @author cibervn
 */
public class Main {
    public static void main(String[] args) {
        try {
            //Create a UserJpaController to work with database
            UserJpaController controller = new UserJpaController(Persistence.createEntityManagerFactory("FptGamesPU"));
            //Test to insert an user to database
            User newUser = new User("admin","123456");
            newUser.setEmail("admin@fpt.games.com");
            newUser.setFullName("Administration");
            newUser.setDescription("test");
            controller.create(newUser);
            
            //Test to retrieve all users from database
            List<User> all = controller.findUserEntities();
            for (User user : all) {
                System.out.println(user);
            }
            
            //Update an user
            User user = controller.findUser("admin");
            user.setFullName("new Administration");
            controller.edit(user);
            
            //Delete an user
            controller.destroy("admin");                                                    
            
        } catch (PreexistingEntityException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
Mã nguồn
Qua ví dụ trên ta thấy các công việc cần phải làm để giúp chúng ta làm việc với cơ sở dự liệu trong java là đơn giản hơn là dùng trực tiếp jdbc. Hơn thế nữa là các làm việc với cơ sở dữ liệu là thông qua các đối tượng trong java chứ không phải dùng sql.
Nhưng một vấn đề khác khi làm việc với jpa đó là viết các câu lệnh truy vấn dữ liệu hay code của các entity cũng không phải đơn giản. Chúng ta sẽ quay lại với các câu lệnh truy vấn trên JPA ở một bài viết khác.

Khóa đào tạo Power BI phân tích báo cáo để bán hàng thành công
KHÓA HỌC LẬP TRÌNH PYTHON TỪ CƠ BẢN ĐẾN CHUYÊN NGHIỆP

Khóa học Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán

Khóa học hướng dẫn về Moodle chuyên nghiệp và hay
Xây dựng hệ thống đào tạo trực tuyến chuyên nghiệp tốt nhất hiện nay.



Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp

Khoá học Word từ cơ bản tới nâng cao, học nhanh, hiểu sâu


Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ
Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi
 Khoa hoc hay
Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel


Khóa học Phân tích dữ liệu sử dụng TableAU - Chìa khóa thành công!
Nhấn vào đây để bắt đầu khóa học

Khóa học “Thiết kế bài giảng điện tử”, Video, hoạt hình 
kiếm tiền Youtube bằng phần mềm Camtasia Studio
Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP
 Xây dựng website​​​​
HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA
Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
 Khoa hoc hay
MICROSOFT ACCESS



GOOGLE SPREADSHEETS phê không tưởng
 Khoa hoc hay
Khóa hoc lập trình bằng Python tại đây

Hacker mũ trắng




Hãy tham gia khóa học để biết mọi thứ

Để tham gia tất cả các bài học, Bạn nhấn vào đây 
Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
 Khoa hoc hay
Design Website

Để thành thạo Wordpress bạn hãy tham gia khóa học 
Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công



Cập nhật công nghệ từ Youtube tại link: congnghe.hocviendaotao.com
Tham gia nhóm Facebook
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com