1. 程式人生 > >JFina連線資料庫(mysql)並執行增刪改操作+jsp(vue.js)

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>
<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>
2.看一下 資料庫:


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">&times;</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">&times;</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執行刪改操作+jspvue.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