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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值