JFina連線資料庫(mysql)並執行增刪改操作+jsp(vue.js)
先給大家看一下 我專案的整個構造
1.首先把JFinal基本的框架搭建好,那麼 第一步,就是匯入依賴:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId>2.看一下 資料庫:<artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.38</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.13.RELEASE</version> </dependency>
3.建立Model類,也就是實體類,這裡的實體類不需要定義屬性了:只需要繼承Model就好
開發效率快很多了:
public class Person extends Model<Person> { public static final Person dao = new Person(); }
4.建立MyConfig:
public class MyConfig extends JFinalConfig { public void configConstant(Constants constants) { constants.setViewType(ViewType.JSP); } public void configRoute(Routes routes) {
//配置Controller: routes.add("person", PersonController.class); } public void configEngine(Engine engine) { } public void configPlugin(Plugins plugins) {
//像這樣:依次是url,username,password,driverClass:
DruidPlugin druidPlugin=new DruidPlugin("jdbc:mysql://localhost/test","root","root","com.mysql.jdbc.Driver"); plugins.add(druidPlugin); plugins.add(getActiveRecordPlugin(druidPlugin)); } private ActiveRecordPlugin getActiveRecordPlugin(DruidPlugin druidPlugin) { ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
//這裡是資料庫表名,主鍵 arp.addMapping("person","pid", Person.class); return arp; } public void configInterceptor(Interceptors interceptors) { } public void configHandler(Handlers handlers) { } }
5.配置web.xml:
<web-app> <display-name>Archetype Created Web Application</display-name> <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>com.desert.config.MyConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!--這裡配置個過濾器,拿來轉碼的,可以忽略--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
6.建立我的PersonController:
public class PersonController extends Controller{
//如果繼承Controller的話,預設會載入這個index方法 public void index(){ renderText("你好,Jfinal"); }
//新增 public void addperson() throws UnsupportedEncodingException { String pname=getPara("pname"); pname=new String(pname.getBytes("iso-8859-1"),"utf-8"); int page=getParaToInt("page"); System.out.println("傳過來的值是:"+page+","+pname); //我這裡就在這裡直接寫方法了:
//新增的方法:
new Person().set("pname",pname).set("page",page).save(); renderText("0"); }
//刪除: public void delperon(){ int pid=getParaToInt("pid"); Person.dao.deleteById(pid); renderText("1"); } public void getUserById(){ int pid=getParaToInt("pid"); Person person=Person.dao.findById(pid); renderJson(person); }
//修改: public void updateperson() throws UnsupportedEncodingException { int pid=getParaToInt("pid"); String pname=getPara("pname"); pname=new String(pname.getBytes("iso-8859-1"),"utf-8"); int page=getParaToInt("page"); System.out.println("傳過來的值是:"+page+","+pname); Person.dao.findById(pid).set("pname",pname).set("page",page).update(); renderText("1"); } }
7.最後,附上我的jsp程式碼:jsp用的是vue.js寫的:記住,需要匯入js和css。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <link href="http://cdn.bootcss.com/bootstrap/4.0.0-alpha.2/css/bootstrap.css" rel="stylesheet"> <script type="text/javascript" src="plugs/jquery/jquery.min.js" ></script> <script type="text/javascript" src="plugs/bootstrap/js/bootstrap.min.js" ></script> <script type="text/javascript" src="plugs/js/vue.min.js" ></script> <html> <head> <title>Title</title> </head> <body> <div class="container"> <hr> <button type="button" class="btn btn-primary" v-on:click="addmodalshow">新增</button> <table class="table table-bordered table-hover"> <caption class="h3 text-center text-info">使用者列表</caption> <thead> <tr> <th class="text-center">序號</th> <th class="text-center">姓名</th> <th class="text-center">年齡</th> <th class="text-center">操作</th> </tr> </thead> <tbody> <tr v-for="person in users" class="text-center"> <td>{{person.pid}}</td> <td>{{person.pname}}</td> <td>{{person.page}}</td> <td> <button type="button" v-on:click="deletemodeshow(person.pid)">刪除</button> <button type="button" v-on:click="updatemodalshow(person.pid)">修改</button> </td> </tr> </tbody> </table> <!-- 刪除模態框 --> <div class="modal fade" id="deleteDataModal"> <div class="modal-dialog"> <div class="modal-content"> <!-- 模態框頭部 --> <div class="modal-header"> <h4 class="modal-title">刪除資料</h4> <button type="button" class="close" data-dismiss="modal">×</button> </div> <!-- 模態框主體 --> <div class="modal-body"> 您確定要刪除這一條資料嗎? </div> <!-- 模態框底部 --> <div class="modal-footer"> <button type="button" class="btn btn-primary" v-on:click="delperson">刪除</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">關閉</button> </div> </div> </div> </div> <!--增加修改模態框 --> <div class="modal fade" id="DataModal"> <div class="modal-dialog"> <div class="modal-content"> <!-- 模態框頭部 --> <div class="modal-header"> <h4 class="modal-title">{{ titleName }}</h4> <button type="button" class="close" data-dismiss="modal">×</button> </div> <form id="addandupdatefrom" method="post"> <!-- 模態框主體 --> <div class="modal-body"> 姓名: <input type="text" name="pname" id="pname" v-bind:value="person.pname"> </div> <div class="modal-body"> 年齡:<input type="text" name="page" id="page" v-bind:value="person.page"> </div> </form> <!-- 模態框底部 --> <div class="modal-footer"> <button type="button" v-on:click="addandupdateuser">確定</button> <button type="button" data-dismiss="modal">取消</button> </div> </div> </div> </div> </div> </div> <script> // 宣告vue物件 var vm = new Vue({ el:'.container', data:{相關推薦
JFina連線資料庫(mysql)並執行增刪改操作+jsp(vue.js)
先給大家看一下 我專案的整個構造 1.首先把JFinal基本的框架搭建好,那麼 第一步,就是匯入依賴: <dependency> <groupId>junit</groupId> <artifactId>juni
unity網路實戰開發(叢林戰爭)-前期知識準備(011-c#連線資料庫並實現增刪改查以及sql注入問題)
使用工具:VS2015,Mysql使用語言:c#作者:Gemini_xujian參考:siki老師-《叢林戰爭》視訊教程繼上一篇文章內容,這節課講解一下資料庫的前期連線準備以及通過c# 實現資料庫的增刪改擦操作。首先你需要自行安裝Mysql以及它的workbench元件。然後
C# 用Linq的方式實現對Xml檔案的基本操作(建立xml檔案、增刪改查xml檔案節點資訊)
1 private static void GetXmlNodeInforOld( string xmlPath) 2 { 3 try 4 { 5
java使用JDBC連線mysql並且進行批量增刪改操作
在處理百萬級的資料時,經常需要對資料庫中的資料進行增刪改查操作,由於資料量大,進行Query的時候在效率上還是可以接受,但進行增刪改的時候,如果採用一次一條記錄操作,則效率大大的降低,因此,需要進行批量操作。 本文利用java在eclipse環境
【Mac系統 + Python + Django】之開發一個釋出會系統【Django模型(二)】 【Mac系統 + Mysql】之安裝Mysql資料庫 【Python + Mysql】之用pymysql庫連線Mysql資料庫並進行增刪改查操作
上一部分給大家介紹Django的檢視。 接下來繼續來了解Django框架,來看第二部分,此部分是對資料庫的操作。 目錄: 一、設計系統表 二、admin後臺管理 三、基本資料訪問(SQLite資料庫) 四、Django配置MySQL &
mysql優化必知(mysql的語句執行順序)
distinct 笛卡爾 技術分享 應用 一個 body where條件 img 處理 MySQL的語句執行順序 MySQL的語句一共分為11步,如下圖所標註的那樣,最先執行的總是FROM操作,最後執行的是LIMIT操作。其中每一個操作都會產生一張虛擬的表,這個虛擬的表
偽分散式的搭建(啟動HDFS並執行MapReduce程式)
如果前一章測試成功,那麼恭喜你,你已經可以開始新的篇章了(但是如果測試不成功,請務必搭建測試成功後再看此篇章) 偽分散式的搭建(啟動HDFS並執行MapReduce程式) 1、啟動HDFS並執行MapReduce程式 1.1配置偽分散式叢集
利用JDBC連線MySQL資料庫並實現增刪改查的程式碼示例
一、實現增刪改: 比較簡單: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;
50次課 php-fpm的(pool、慢執行日誌、open_basedir、進程管理)
referer oot stc acc not tin cati access local php-fpm的pool 它的pool就是它的池子 [root@100xuni1 etc]# cd /usr/local/php-fpm/etc/ [root@100xuni1
多執行緒常用操作方法(sleep、yield、join)
執行緒的命名與取得 執行緒的命名: 通過構造方法在建立執行緒時設定執行緒名稱 直接繼承Thread類: public Thread (String name); Runable或者Callable介面實現多執行緒: public Thread (Run
Oracle資料庫DML(資料操縱語言)參考程式碼,簡單查詢,分組查詢,簡單增刪改操作
撰寫人——軟工二班——陳喜平 – 實驗內容: – 一、簡單查詢 – 編寫簡單查詢語句,理解笛卡爾積、選擇、投影的概念及其在SQL中的實現 –SQL PL/SQL SQLPLUS – DDL :CREATE ALTER DROP 資料定義語言 – DML INSERT DELETE UPDAT
PHP中連線資料庫與sql語句的執行
在PHP中連線資料庫的方式主要有:mysql(面向過程)、mysqli(面向物件、面向過程)、PDO 但是,最常用的方式就是:mysqli的面向物件,實現的方法就是將mysqli封裝成一個類。 構造方法: —construct([string $host [,string $userna
爬蟲使用mysql建立新資料庫並進行增刪改查操作
前言: 該文章描述了爬蟲爬取資料後存入資料庫自動建庫建表,有不足之處還望大家提出 import re import time from functools import reduce from io import BytesIO import pymysql
java如何獲取mongodb的連線並執行簡單的操作?
package mongodb; /** * @author : suyuyuan * @date :2016年6月23日 下午3:10:03 * @version 1.0 */ import java.net.UnknownHostException; import
nodejs之簡單的秒殺系統實現(mysql、redis、kafka、zookeeper、postman或docker)
nodejs之簡單的秒殺系統實現(mysql、redis、kafka、zookeeper或docker) 一:環境 二:工具說明 三:程式碼實現 四:啟動專案 五:測試 一:環境 1.一臺阿里雲
親戚【並查集】(內附並查集基本操作)
【問題描述】 何氏家族人員過於龐大,要判斷兩個是否是親戚,確實還很不容易,現在給出某個親戚關係圖,求任意給出的兩個人是否具有親戚關係。規定:x和y是親戚,y和z是親戚,那麼x和z也是親戚。如果x,y是親戚,那麼x的親戚都是y的親戚,y的親戚也都是x的親
Python3使用mysql建立新資料庫並進行增刪改查操作
import pymysql #在資料庫中插入資料 def insertData(db, cursor): # 插入資料 sql = """INSERT INTO student (id, name, age)VALUES
pythonocc入門指導:2.PyCharm連線pythonOCC開發環境,並執行一個簡單例項
已經更新的入門指導 PythonOCC入門指導:1.建立pythonocc虛擬環境 PythonOCC入門指導:2.執行一個簡單例項 PythonOCC入門指導:3.建立屬於自己的主介面及對話方塊及安裝qtdesigner pythonocc基礎使用:1.讀入iges,step,stl檔
並查集——簡單易懂(內附並查集刪除操作)
並查集 並查集的定義 並查集是一種樹型的資料結構,用於處理一些不相交集合(Disjoint Sets)的合併及查詢問題。常常在使用中以森林來表示。 集就是讓每個元素構成一個單元素的集合,也就是按一定順序將屬於同一組的元素所在的集合合併。 並查集的用途 維護一個無
JDBC(三)——使用Statement介面對資料庫實現增刪改操作(3)
前面說到了使用Statement介面對資料庫進行增加資料操作; 現在我們來看一下修改操作和刪除操作; 其實基本原理是一樣的,就是sql語句有點不一樣; 1.修改操作; 我們新建一個update_sql類: package Month01.Day08.Demo02; import