參考了@絃歌的系列教程https://my.oschina.net/chixn/...
遺憾的是做者只是更新到了增長數據
參考了http://blog.csdn.net/u0146826...的內容
如下是在絃歌Jfinal+idea增刪改查(二)基礎上實現
如下是項目結構html
更改BlogController中的代碼java
package com.xblog.controller; import com.jfinal.core.Controller; import com.xblog.model.Blog; import java.util.List; /** * Created by Administrator on 2017/2/26. */ public class BlogController extends Controller{ public void index(){ List<Blog> blogs = Blog.blogDao.find("select * from blog"); setAttr("blogs",blogs); System.out.print("獲得的數據是"+blogs.size()+"條"); render("list.jsp"); } /**查詢代碼**/ public void result(){ String sql ="select * from blog where title="+getPara("title"); List<Blog> blogs = Blog.blogDao.find(sql); setAttr("blogs",blogs); System.out.print("查詢到的數據有"+blogs.size()+"條"); } public void form(){ Integer id = getParaToInt(0); if(id!=null&&id>0){ setAttr("blog",Blog.blogDao.findById(id)); } render("form.jsp"); } /** * 提交方法 */ public void submit(){ Blog blog = getModel(Blog.class,"blog"); blog.save(); //redirect("/blog"); index(); } /** * 編輯方法 */ public void edit(){ form(); } /** * 刪除方法 */ public void del(){ Blog.blogDao.deleteById(getPara(0)); redirect("/blog"); } /** * 更新方法 */ public void update(){ Blog blog = getModel(Blog.class,"blog"); blog.update(); redirect("/blog"); }
blog中增長一行代碼 第二行的其實能夠刪掉了
CommonConfig中的代碼mysql
package com.xblog; import com.jfinal.config.*; import com.jfinal.kit.PropKit; import com.jfinal.plugin.activerecord.ActiveRecordException; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.c3p0.C3p0Plugin; import com.jfinal.render.ViewType; import com.xblog.controller.BlogController; import com.xblog.controller.Indexcontroller; import com.xblog.model.Blog; import java.awt.image.IndexColorModel; /** * Created by Administrator on 2017/2/26. */ public class CommonConfig extends JFinalConfig{ @Override public void configConstant(Constants me) { PropKit.use("config.properties"); //加載配置文件 me.setViewType(ViewType.JSP); //設置視圖模板類型 me.setBaseViewPath("/view"); //設置視圖模板的基本路徑 me.setDevMode(true); } @Override public void configRoute(Routes me) { me.add("/", Indexcontroller.class,"/index"); me.add("/blog", BlogController.class); //創建兩個訪問路由 } @Override public void configPlugin(Plugins me) { //配置C3p0數據庫連續插件 C3p0Plugin c3p0Plugin=new C3p0Plugin(PropKit.get("jdbcUrl"),PropKit.get("mysql.user"),PropKit.get("mysql.password").trim()); me.add(c3p0Plugin); //配置ActiveRecord插件 ActiveRecordPlugin arp=new ActiveRecordPlugin(c3p0Plugin); me.add(arp); //arp.setShowSql(true); arp.addMapping("blog",Blog.class); } @Override public void configInterceptor(Interceptors me) { } @Override public void configHandler(Handlers me) { } }
form頁面的主要代碼sql
<form action="${blog==null?'/blog/submit':'/blog/update'}" method="post"><%--/blog/addblog--%> <input type="hidden" name="blog.id" value="${blog.id}"> <P><label>標題:</label><input type="text" name="blog.title"></P> <p><label>內容:</label> <textarea style="width: 600px;height: 200px;" name="blog.content"></textarea> </p> <input type="submit" value="提交"> </form>
list頁面主要代碼數據庫
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%-- 這句很重要 不能漏--%> <html> <head> <title>list</title> </head> <body> <div> <a href="/blog/form">新增用戶</a> </div> <form action="/blog/result" method="post"> <input type="text" name="title"> <input type="submit" value="搜索"> </form> <table class="table"> <thead> <tr> <th colspan="5" align="center">用戶信息表</th> </tr> <tr> <th>ID</th> <th>標題</th><th>內容</th><th>操做</th> </tr> </thead> <tbody> <c:forEach items="${blogs}" var="blog"> <tr> <td>${blog.id}</td> <td>${blog.title}</td> <td>${blog.content}</td> <td><a href="/blog/edit/${blog.id}">修改</a> <a href="/blog/del/${blog.id}">刪除</a></td> </tr> </c:forEach> </tbody> </table> </body> </html>
本例是Jfinal2.0+Tomcat+idea+win8.1下運行 本人新手歡迎指教
最後生成項目運行 輸入http://localhost/blog/form 既可提交表單app