从数据须要持久化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