日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

jfinal mysql增删改查_Jfinal简单实现增删改查

發(fā)布時(shí)間:2024/8/1 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jfinal mysql增删改查_Jfinal简单实现增删改查 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近學(xué)習(xí)了jfinal框架。就我感覺(jué)而言,我用起來(lái)的感覺(jué)真是很爽,以前在學(xué)習(xí)其他的框架的時(shí)候,實(shí)現(xiàn)增刪改查的時(shí)候,你需要自己手動(dòng)書(shū)寫(xiě)你的sql語(yǔ)句來(lái)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,還要?jiǎng)?chuàng)建一個(gè)實(shí)例,然后實(shí)現(xiàn)它的set和get方法,而jfinal框架不需要那么麻煩,只需要把前端的參數(shù)傳回后臺(tái),一個(gè)語(yǔ)句就能實(shí)現(xiàn)增刪改查,實(shí)在是很方便,大大減少了代碼量。

廢話不多說(shuō),現(xiàn)在就來(lái)實(shí)現(xiàn)增刪改查

前端頁(yè)面只是簡(jiǎn)單的實(shí)現(xiàn)其功能,可能不太好看。。。。。

1.創(chuàng)建一個(gè)項(xiàng)目,然后導(dǎo)入Jfinal的相關(guān)包 鏈接: https://pan.baidu.com/s/1sluj1Ad 密碼: 3ivc

2.創(chuàng)建一個(gè)MainConfig.java繼承JFinalConfig

package demo;

import com.jfinal.config.Constants;

import com.jfinal.config.Handlers;

import com.jfinal.config.Interceptors;

import com.jfinal.config.JFinalConfig;

import com.jfinal.config.Plugins;

import com.jfinal.config.Routes;

import com.jfinal.core.JFinal;

import com.jfinal.ext.handler.ContextPathHandler;

import com.jfinal.kit.PropKit;

import com.jfinal.plugin.activerecord.ActiveRecordPlugin;

import com.jfinal.plugin.c3p0.C3p0Plugin;

import com.jfinal.render.ViewType;

import com.jfinal.template.Engine;

public class DemoConfig extends JFinalConfig {

/**

* 此方法用來(lái)配置 JFinal 常量值

*/

public void configConstant(Constants me)

{

//設(shè)置視圖類型

me.setViewType(ViewType.JSP);

//讀取外部文件

PropKit.use("config.properties");

}

/**

* 此方法用來(lái)配置 JFinal 訪問(wèn)路由

*/

public void configRoute(Routes me) {

//更改路由

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

}

/**

* 此方法用來(lái)配置 JFinal 的 Plugin

*/

public void configPlugin(Plugins me) {

// TODO Auto-generated method stub

//輸入庫(kù)連接池

C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("username"), PropKit.get("password"));

//ORM Activerecord

ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);

arp.setShowSql(true);

arp.addMapping("user", User.class);

me.add(c3p0Plugin);

me.add(arp);

}

/**

* 此方法用來(lái)配置 JFinal 的全局?jǐn)r截器

*/

public void configInterceptor(Interceptors me)

{

// TODO Auto-generated method stub

}

/**

* 此方法用來(lái)配置 JFinal 的 Handler

*/

public void configHandler(Handlers me)

{

}

public void configEngine(Engine me)

{

}

public static void main(String[] args) {

JFinal.start("WebRoot", 80, "/", 5);

}

}

3.創(chuàng)建一個(gè)實(shí)例user

package demo;

import com.jfinal.plugin.activerecord.Model;

public class User extends Model

{

public static final User dao=new User();

}

4.創(chuàng)建一個(gè)UserController

package demo;

import java.util.List;

import com.jfinal.core.Controller;

public class UserController extends Controller

{

/**

* 直接訪問(wèn)user地址進(jìn)入list.jsp

*/

public void index(){

//執(zhí)行sql語(yǔ)句,得到數(shù)據(jù)庫(kù)的數(shù)據(jù)

List users=User.dao.find("select * from user");

//封裝發(fā)到前端

setAttr("users", users);

System.out.println("得到數(shù)據(jù)"+users.size()+"個(gè)");

//將數(shù)據(jù)在list頁(yè)面中渲染出來(lái)

render("list.jsp");

}

/**

* 訪問(wèn)user/form 地址進(jìn)入form.jsp

*/

public void form(){

//得到前端傳過(guò)來(lái)的id

Integer id=getParaToInt(0);

if(id!=null&&id>0){

setAttr("user", User.dao.findById(id));

}

render("form.jsp");

}

/**

* 數(shù)據(jù)提交

*/

public void submit(){

//得到前端傳來(lái)的user數(shù)值

User user=getModel(User.class,"user");

user.save();

//返回到user界面

redirect("/user");

}

public void update(){

User user=getModel(User.class,"user");

user.update();

redirect("/user");

}

public void edit(){

form();

}

public void del(){

//得到前端傳來(lái)的id,并執(zhí)行sql語(yǔ)句

User.dao.deleteById(getPara(0));

redirect("/user");

}

}

5.前端的頁(yè)面list.jsp和form.jsp

list.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

新增用戶

測(cè)試頁(yè)面

ID姓名年齡性別備注操作

${user.id}${user.name}${user.age}${user.sex}${user.remark}修改刪除

form.jsp頁(yè)面

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

姓名

年齡

性別

checked="checked"value="男"> 男

checked="checked"value="女"> 女

備注

${user.remark}

提交

7.config.properties文件,填寫(xiě)相關(guān)的數(shù)據(jù)庫(kù)驅(qū)動(dòng),表名,用戶名和密碼

driver=com.mysql.jdbc.Driver

jdbcUrl = jdbc:mysql://localhost:3306/test

username = root

password =root

搜狗截圖17年10月07日1853_2.png

成功實(shí)現(xiàn)功能!!

搜狗截圖17年10月07日1856_3.png

增刪改查這里就完成了。我這里沒(méi)有做數(shù)據(jù)的判斷,所以覺(jué)得代碼量有些少了。值的一提的是, 所有 sql 與業(yè)務(wù)邏輯寫(xiě)在 Service 中,不要放在 Model 中,更不要放在 Controller 中,養(yǎng)成好習(xí)慣,有利于大型項(xiàng)目的開(kāi)發(fā)與維護(hù).

總結(jié)

以上是生活随笔為你收集整理的jfinal mysql增删改查_Jfinal简单实现增删改查的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。