关于新建项目及导入eclipse之前已经介绍过了 ,有需要的可以查看,这里主要分享play框架的增删改查
1.项目的大体框架如下
漏了views文件夹了
User.java
package com.test.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import play.db.jpa.Model;
/**
* 2017年9月25日22:38:30
* user表对应的实体类
*/
@Entity
@Table(name = "user")
public class User extends Model {
@Column(name = "uName")
private String uName;
@Column(name = "uPass")
private String uPass;
@Column(name = "uPhoto")
private String uPhoto;
@Column(name = "uAge")
private int uAge;
public User() {
super();
}
public User(String uName, String uPass, String uPhoto, int uAge) {
super();
this.uName = uName;
this.uPass = uPass;
this.uPhoto = uPhoto;
this.uAge = uAge;
}
public String getuName() {
return uName;
}
public void setuName(String uName) {
this.uName = uName;
}
public String getuPass() {
return uPass;
}
public void setuPass(String uPass) {
this.uPass = uPass;
}
public String getuPhoto() {
return uPhoto;
}
public void setuPhoto(String uPhoto) {
this.uPhoto = uPhoto;
}
public int getuAge() {
return uAge;
}
public void setuAge(int uAge) {
this.uAge = uAge;
}
}
Application.java
package controllers;
import java.util.List;
import javax.persistence.Cache;
import com.test.entity.User;
import models.UserDao;
import play.data.validation.Required;
import play.mvc.Controller;
/**
* 2017年9月25日22:36:32
* 对用户进行增删改查的action
* */
public class Application extends Controller {
private static UserDao dao = new UserDao();
public static void index() {
render();
}
public static void login(@Required String uname,@Required String upass){
User loginUser = dao.getUserByUNameAndUPass(uname, upass);
if (validation.hasErrors()) {
flash.error("用户名和密码不能为空!");
index();
} else if(loginUser == null){
flash.error("用户名或密码不正确!");
index();
} else{
getAllUser();
}
}
public static void getAllUser(){
List<User> allUsers = dao.getAllUser();
renderArgs.put("allUsers", allUsers);
render();
}
public static void updateUser(String uid){
Long id = Long.parseLong(uid);
User user = dao.getUserById(id);
renderArgs.put("user", user);
render();
}
public static void updateSuccess(User user){
dao.updateUser(user);
getAllUser();
}
public static void deleteUser(String uid){
Long id = Long.parseLong(uid);
User user = dao.getUserById(id);
dao.deleteUser(user);
getAllUser();
}
public static void addUserPage(){
render();
}
public static void addUser(User user){
dao.updateUser(user);
index();
}
}
UserDao.java
package models;
import java.util.List;
import javax.persistence.EntityManager;
import com.test.entity.User;
import play.db.jpa.JPA;
/**
* 2017年9月25日22:38:38
* 对用户进行操作的dao
* */
public class UserDao {
//查询所有的用户
public List<User> getAllUser(){
List<User> list = User.findAll();
for (User user1 : list) {
System.out.println(user1.getuName());
}
return list;
}
//根据用户名和密码查询用户
public User getUserByUNameAndUPass(String uName,String uPass){
List<User> list = User.find("uName=? and uPass=?", uName,uPass).fetch();
if(list.size() == 0){
return null;
}else{
return list.get(0);
}
}
//根据id查询用户
public User getUserById(Long id){
User user = User.findById(id);
return user;
}
//修改或添加用户用户
public void updateUser(User user){
user.save();
}
//删除用户
public void deleteUser(User user){
user.delete();
}
}
addUserPage.html
#{extends 'main.html' /}
#{set title:'Home' /}
<meta http-equiv="content-type" content="txt/html; charset=utf-8" />
<form action="@{Application.addUser()}" method="post">
姓名:<input type="text" name="user.uName"><br>
密码:<input type="password" name="user.uPass"><br>
年龄:<input type="number" name="user.uAge"><br>
<input type="submit" value="注册">
</form>
getAllUser.html
#{extends 'main.html' /}
#{set title:'Home' /}
<meta http-equiv="content-type" content="txt/html; charset=utf-8" />
<table border="1" style="width: 60%; text-align: center;">
<tr>
<td>ID</td>
<td>姓名</td>
<td>密码</td>
<td>年龄</td>
<td>操作</td>
</tr>
#{list items:allUsers, as:'users'}
<tr>
<td>${users.id}</td>
<td>${users.uName}</td>
<td>${users.uPass}</td>
<td>${users.uAge}</td>
<td><a href="/Application/updateUser?uid=${users.id}">编辑</a>|<a href="/Application/deleteUser?uid=${users.id}">删除</a></td>
</tr>
#{/list}
</table>
index.html
#{extends 'main.html' /}
#{set title:'Home' /}
#{if flash.error}
<p style="color:#c00">
${flash.error}
</p>
#{/if}
<meta http-equiv="content-type" content="txt/html; charset=utf-8" />
<form action="@{Application.login()}" method="get">
<input type="text" name="uname"><br>
<input type="password" name="upass"><br>
<input type="submit" value="登录">
<input type="reset" value="取消">
</form>
<a href="/Application/addUserPage">注册用户</a>
updateUser.html
#{extends 'main.html' /}
#{set title:'Home' /}
<meta http-equiv="content-type" content="txt/html; charset=utf-8" />
<form action="@{Application.updateSuccess()}" method="get">
<table border="1" style="width: 60%;">
<tr>
<td>属性</td>
<td>属性值</td>
</tr>
<tr>
<td>id</td>
<td>${user.id}</td>
</tr>
<tr>
<td>姓名</td>
<td>
<input type="hidden" value="${user.id}" name="user.id">
<input type="text" value="${user.uName}" name="user.uName">
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input type="text" value="${user.uPass}" name="user.uPass">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交">
<input type="reset" value="清空">
</td>
</tr>
</table>
</form>
Application.conf文件需配置数据库信息,这里不用建表,User类中使用的注释会自动生成
一个简单的增删改查例子就做好了,大家可以拿这个例子练练手。