Play Framework JPA

 

從數據須要持久化java

  重啓應用以後還能保持以前的狀態mysql

通常使用關係型數據庫sql

ORM數據庫

JPA(JAVA Persistence API)mvc

  定義了一系列實現ORM的標準app

Play Framework使用Hibernate的JPA實現spa

在Play中使用JPA,不須要任何配置3d

配置code

conf/application.confblog

找到

# Database configuration
# ~~~~~ 
# Enable a database engine if needed.
#

例如要使用mysql

去掉db.defalut=mysql...前的#

填寫用戶:密碼@主機名/數據庫

 

 因爲沒有配置mysql數據庫,因此使用mem

 

去掉第85行前面的#

 

定義一個模型類

app/models/user.java

@Entity解釋

@Entity 代表該類 (UserEntity) 爲一個實體類,它默認對應數據庫中的表名是user_entity。這裏也能夠寫成

      @Entity(name = "xwj_user")

      或者

      @Entity
      @Table(name = "xwj_user", schema = "test")

      查看@Entity註解,發現其只有一個屬性name,表示其所對應的數據庫中的表名

 

extends Model

 1 package models;
 2 import javax.persistence.Entity;
 3 import play.db.jpa.Model;
 4 @Entity
 5 public class user extends Model{
 6     public String email;
 7     public String password;
 8     public String fullname;
 9     public boolean isAdmin;
10     public user(String em,String pwd, String fn) {
11         email = em;
12         password = pwd;
13         fullname = fn;
14         
15     }
16 }

使用模型類

 1 package controllers;
 2 
 3 import play.*;
 4 import play.db.jpa.GenericModel.JPAQuery;
 5 import play.mvc.*;
 6 
 7 import java.util.*;
 8 
 9 import models.*;
10 
11 public class Application extends Controller {
12     public static void index() {
13         user u = new user("aa.com","as","aaa");
14         u.save();
15         user bob = user.find("byEmail", "aa.com").first();
16         System.out.print(bob.email);
17         render();
18     }
19     public static void hello() {
20         render();
21     }
22 }

 最後運行:

成功輸出bob.email

相關文章
相關標籤/搜索