1. 程式人生 > >Jfinal(三)--------Model的增刪改查

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>


相關推薦

Django框架—— orm刪改、Django生命周期

task 添加數據 方式 mysq 增刪改查 數據表 映射 周期 mysqld orm增刪改查、Django生命周期 一、orm介紹 1、什麽是orm ORM即Object Relational Mapping,全稱對象關系映射。 2、使用orm的優缺點 優點: 不用寫S

Elasticsearch-分散式刪改和搜尋

分散式增刪改查 路由 路由文件到分片 Elasticsearch是如何知道文件屬於哪個分片的呢?當你建立一個新文件,它是如何知道是應該儲存在分片1還是分片2上的呢? 程序不能是隨機的,因為我們將來要檢索文件。事實上,它根據一個簡單的演算法決定:

Jfinal--------Model刪改

一。通過官網demo的映射出Model 1.對映設定: 2.效果圖 二.controller層 1.在config中配置路由 add("/user",UserController.class);2.UserController package com.kjs

Mysql筆記簡單刪改

這是我在學習Mysql之路上做的筆記,今天將它粘出來。這一篇主要是簡單增刪改查。有錯誤的歡迎大家指出。。。 #增刪改查 #建立部門表 CREATE TABLE IF NOT EXISTS tb_d

列表list刪改

list 可以通過 索引,切片,切片加步長取出列表中的某個元素 列表的增: # 追加 append() 在列表的後面追加元素 #  插入 insert()在列表的某個位置插入元素  會加在你輸入位置的前面 例如:insert(0,‘hello’) 就是在開頭加上hello # 迭代

J2EE系列之Hibernate4學習筆記--Hibernate4刪改體驗

上一篇部落格中使用hibernate4成功建立了表t_student,並向這個表中添加了一個數據。現在來體驗hibernate4實現資料庫表的增刪改查操作。 一、HibernateUtil封裝 使用hibernate對資料庫操作的時候都要首先獲得一個SessionFacto

ASP.NET MVC5+EF6+EasyUI 後臺管理系統5-EF刪改

using System; using System.Collections.Generic; using System.Linq; using Apps.Models; using Apps.Common; using Apps.IBLL; using Apps.IDAL; using Apps.DAL;

Kafka Shell基本命令包括topic的刪改

pre table kafka tool for del 生產 scribe 風險 本節內容: 創建kafka topic 查看所有topic列表 查看指定topic信息 控制臺向topic生產數據 控制臺消費topic的數據 查看topic某分區偏移量最大(小)值 增加

如何實現最基本的課程管理系統程式庫的刪改

  一直在聽建民老師說,javaweb的精髓是Jsp+servlet+javabean。在完成這個系統之前,畢竟沒有學習過javaweb,Jsp和servlet我是知道的,但不會在servlet和jsp之間相互傳值以及應用,javabean是一點沒有聽說過。在這樣的基礎下,沒辦法逃脫測試的情況下,只能硬著頭皮

如何實現最基本的課程管理系統程序庫的刪改

bilibili rtb styles cat 希望 driver 管理 代碼 all   一直在聽建民老師說,javaweb的精髓是Jsp+servlet+javabean。在完成這個系統之前,畢竟沒有學習過javaweb,Jsp和servlet我是知道的,但不會在ser

Mybatis-02操作表的刪改

回顧 1.瞭解定義,知道mybatis的作用 2.搭建簡單mybatis架構 3.寫出簡單的測試程式碼進行測試 對資料庫表進行操作 通過Mybatis-01的簡單介紹我們可以進行簡單的查詢操作,接下來我

git入門學習一git安裝,刪改基本操作命令

git 工作區 暫存區 版本庫 在當前目錄新建一個Git程式碼庫 git init (會多出.git資料夾) 設計提交程式碼時的使用者資訊 :git config --global  user.name zhangsan    git config --glob

MySQL基礎篇庫/表的刪改

上一篇我們已經在Linux系統裝好了MySQL,現在我們來熟悉一下MySQL及它的操作語句。 MySQL是一個關係型資料庫管理系統,MySQL 是最流行的關係型資料庫管理系統之一. 設計模型: E-R設計模型【E表示Entry,實體】、【R表示Relationship,關係】。

mybatisxml配置sql刪改,mapper動態代理,sqlmapconfig屬性配置

mybatis配置 SqlMapConfig.xml,此檔案作為mybatis的全域性配置檔案,配置了mybatis的執行環境等資訊。 mapper.xml檔案即sql對映檔案,檔案中配置了操作資料庫的sql語句。此檔案需要在SqlMapConfig.xml中載入。 通過

mongodb的簡單使用二結合springdata實現刪改

          package com.glgd.recarticle.dao; import java.util.ArrayList; import java.util.List; import org.springframework.data.mongodb.core.query.Criteria

Python操作mysql資料庫封裝基本的刪改

新學Python,在這裡分享操作MySQL的全過程 1、安裝MySQL-python-1.2.3.win-amd64-py2.7.exe,這是操作mysql資料庫的python庫,有32位和64位之分,看自機器下載 2、64位機器安裝MySQL-python-1.2.

Thinkphp5刪改操作通過模型進行刪改

Thinkphp5怎麼通過模型增刪改查,非常簡單。 首先在application\index\controller目錄下建立控制器,命名為:Index.php Index.php 程式碼如下,我這裡是在application\index\controller 模組下建

sql基礎 表結構的刪改

1.建立 create table 表名( 列名1 資料型別 約束條件, 列名2 資料型別 約束條件, 列名3 資料型別 約束條件, ... 列名n 資料型別 約束條件, primary key (); foreign key () references 其他表表名()

Realm的簡單使用單表_刪改_包含非同步操作

學習參考網址: 具體程式碼: 由於互動的資料被我固定了,又為了防止因為資料是固定的而發生異常,所以寫了些異常捕獲,只要添上互動的資料,功能沒有任何問題,就可以不用寫這些異常捕獲了。 前期準備: 1.在project的gradle裡新增classp

Java servlet+Ajax 使用者管理完全無重新整理刪改及分頁

   初入職場,在這程式設計師一抓一大把的時代,要生存,就要什麼都要學一點,什麼都要會一點。在java世界裡目前充斥著各種框架,struts,spring……但究其根本還是離不開servlet,故鄙人從java最基礎的servlet入手,研究如何不用框架但又利用框架的優勢