Jfinal(三)--------Model的增刪改查

一。通過官網demo的映射出Model

1.映射設置:



2.效果圖


二.controller層


1.在config中配置路由

	add("/user",UserController.class);

2.UserController


package com.kjst.sjzx.base.controller;

import java.util.List;

import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Page;
import com.kjst.sjzx.base.User;
import com.kjst.sjzx.base.validate.UserValidator;

public class UserController extends Controller{

	/**
	 * 顯示User列表  假入頁面和方法名一直的話,就會默認調到這個方法的對應頁面
	 */
	public void index() {
//		String sql = "select * from t_user order by id desc";
//		List<User> list = User.dao.find(sql);
		String sql = "from t_user order by id desc ";
		Integer pageNumber = getParaToInt("pageNumber",1);
		Page<User> list = User.dao.paginate(pageNumber, 10, "select * ", sql);
 		setAttr("userlist", list);
		renderFreeMarker("list.html");
	}
	
	/**
	 * 添加
	 */
	public void add() {
		renderFreeMarker("add.html");
	}
	
	/**
	 * getModel在字段特多時好使用
	 */
	@Before(UserValidator.class)
	public void toAddUser() {
//		User user = getModel(User.class);//別名
		User user = getModel(User.class,"u");//別名  Jfinal 必殺技快速開發全靠它
		user.set("password","11");
		boolean flag = user.save();
		if (flag) {
			redirect("/user/");
		}else {
			renderText("sorry,插入失敗!!");
		}
	}
	
	/**
	 * 修改
	 */
	@Before(UserValidator.class)
	public void update() {
		User user = getModel(User.class,"u");//別名  Jfinal 必殺技快速開發全靠它
		user.set("password","11");
		boolean flag = user.update();
		if (flag) {
			redirect("/user/");
		}else {
			renderText("sorry,插入失敗!!");
		}
	}
	
	/**
	 * 刪除單個
	 */
	public void delUserById() {
		Integer id = getParaToInt(0);
		boolean flag = User.dao.deleteById(id);
		if (flag) {
			redirect("/user/");
		}else {
			renderText("sorry,刪除失敗!!");
		}
	}
	
	/**
	 * 刪除全部
	 */
	public void delAll() {
		
	}
	

	
	/**
	 * 按照Id查詢
	 */
	public void findUserById() {
		Integer id = getParaToInt(0);
		User user = User.dao.findById(id);
		setAttr("u", user);
		renderFreeMarker("update.html");
	}
}

三.頁面


1.list

<!DOCTYPE html>
<html>
  <head>
    <title>User列表</title>
    <meta name="content-type" content="text/html; charset=UTF-8">
  </head>
  
  <body>
  	Freemarker需要安全輸出,頁面如果存在NULL 會報錯
   <h1>User列表</h1> <br>
   <p><a href="${contextPath}/user/add">添加</a></p><br>
   <table>
   		<tr>
   			<td>用戶名</td>
   			<td>密碼</td>
   			<td>手機</td>
   			<td>郵箱</td>
   			<td>操作</td>
   		</tr>
   		<#list userlist.list as u>
   		<tr>
   			<td>${(u.user_name)!''}</td>
	   		<td>${(u.password)!''}</td>
	   		<td>${(u.phone)!''}</td>
	   		<td>${(u.email)!''}</td>
	   		<td>
	   			<a href="${contextPath}/user/findUserById/${(u.id)!''}">編輯</a>
	   			<a href="${contextPath}/user/delUserById/${(u.id)!''}">刪除</a>
			</td>
		</tr>	
   		</#list>
   </table>
  </body>
</html>

2.form.html

<input type="hidden"  name="u.id" maxlength="30" value="${(u.id)!''}">
<p>用戶名:<input type="text"  name="u.user_name" maxlength="30" value="${(u.user_name)!''}">${(userNameMsg)!''}</p>
<p>密碼:<input type="text"  name="u.password"  maxlength="30" value="${(u.password)!''}">${(passwordMsg)!''}</p>
<p>手機:<input type="text"  name="u.phone"  maxlength="30" value="${(u.phone)!''}">${(phoneMsg)!''}</p>
<p>郵箱:<input type="text"  name="u.email"  maxlength="30" value="${(u.email)!''}">${(emailMsg)!''}</p>
<p>操作:<input type="text"  value=""></p>
<p><input type="submit"  value="提交"></p>

3.add.html

<!DOCTYPE html>
<html>
  <head>
    <title>添加用戶</title>
    <meta name="content-type" content="text/html; charset=UTF-8">
  </head>
  
  <body>
  <h1>添加用戶</h1>
  <form action="${contextPath}/user/toAddUser" method="post">
 	 <#include "form.html">
  </form>
  		
  </body>
</html>

4.update.html

<!DOCTYPE html>
<html>
  <head>
    <title>修改用戶</title>
    <meta name="content-type" content="text/html; charset=UTF-8">
  </head>
  
  <body>
  <h1>修改用戶</h1>
  <form action="${contextPath}/user/update" method="post">
 	 <#include "form.html">
  </form>
  		
  </body>
</html>


發佈了33 篇原創文章 · 獲贊 32 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章