從數據須要持久化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