使用playframework实现简单的增删改查

来源:互联网 发布:西门子usb编程电缆 编辑:程序博客网 时间:2024/05/21 03:43

上一篇记录了使用playframework连接mysql,这一篇依然是连接mysql,然后实现简单的增删改查!


一、生成一个工程:

再次记录一下创建play工程的步骤:

1、使用命令:play new 工程名    创建一个工程,如:play new TestPlayCURD;

2、使用命令:play eclipsify 工程名  将play工程转成eclipse工程,如:play eclipsify TestPlayCURD;

3、使用eclipse或者myeclipse将工程导入IDE。


二、配置工程:

1、配置数据库信息:

修改conf/application.conf:

找到下图中的这一段代码,修改成需要连接的数据库:


2、修改eclipse/工程名.launch,注意,我这里是:eclipse/TestPlayCURD.launch:

注意:在eclipse/myeclipse中运行或者debug时是在eclipse/TestPlayCURD.launch文件上右键运行或者debug的!


三、java代码:

1、工程的主要目录:



2、实体类User.java:

 

package com.mfc.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;}}

注意:这里不用自己创建数据库,可以直接使用注解生成数据库和表,并且实体类里面不需要id属性,因为实体类继承了Model,Model里面有一个id,这样虽然User.java里面没有id,但是User.java继承了Model的id,生成的表中还是有id的!


 3、index.html:

#{extends 'main.html' /}#{set title:'Home' /}#{if flash.error}      <p style="color:#c00">          ${flash.error}      </p>  #{/if}  <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>

4、Application.java:

 

package controllers;import java.util.List;import javax.persistence.Cache;import com.mfc.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();    }    }

5、UserDao.java:

package models;import java.util.List;import javax.persistence.EntityManager;import com.mfc.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();}}

6、getAllUser.html:

#{extends 'main.html' /}#{set title:'Home' /}<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>

7、addUserPage.html:

#{extends 'main.html' /}#{set title:'Home' /}<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>

8、updateUser.html:

#{extends 'main.html' /}#{set title:'Home' /}<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>


源码下载:http://download.csdn.net/download/fancheng614/9995270



原创粉丝点击