前後端連接(BootStrap_MySQL_MyEclipse)

来源:http://www.cnblogs.com/Smileminr/archive/2017/12/15/8040682.html
-Advertisement-
Play Games

今天學了前後臺的連接。之前腦子一團漿糊,就連後端對資料庫的操作都不熟。就一點點來寫吧,會多少寫多少,錯了以後再改吧,可能進步比較慢,但肯定會慢慢好起來的。 以前一直對資料庫連接就不太懂。先從資料庫連接寫起。 疑問點1:之前就是不明白為什麼要有一個con,而且還是Connection類型的, 理解:你 ...


    今天學了前後臺的連接。之前腦子一團漿糊,就連後端對資料庫的操作都不熟。就一點點來寫吧,會多少寫多少,錯了以後再改吧,可能進步比較慢,但肯定會慢慢好起來的。

    以前一直對資料庫連接就不太懂。先從資料庫連接寫起。

疑問點1:之前就是不明白為什麼要有一個con,而且還是Connection類型的,

   理解:你想對資料庫操作,肯定的先連上資料庫吧,那就得用一個變數來告訴別人,連接情況是啥,到底連沒連 上,剛開始肯定是null的呀,連上了還寫啥。至於Connection,還是不太清楚,可能只有這樣的類型才能獲取連接吧

疑問點2:Class.forName("com.mysql.jdbc.Driver");都說是載入驅動類,怎麼載入的不太清楚。

   理解:Class.forName動態載入指定的JDBC驅動,由DriverManager管理。DriverManager類用來管理資料庫中的所有驅動程式,是JDBC的管理層,作用於用戶和驅動程式之間,跟蹤可用的驅動程式,併在資料庫的驅動程式之間建立連接。(別人說的)

然後用這個con=(Connection)DriverManager.getConnection(url, user, password);就連上了唄。資料庫連接就勉強過關吧,以後工作了也許會有更深的理解,暫時都能連上了,就先不考慮了。

 

 

 

然後就出現一個很大的誤區,資料庫里不是有張表格嘛是這樣的

然後我在後臺也寫了個這個

 

這下好了,我一直以為我對這些類里屬性操作的就是對後臺操作,(我可能是個傻子)

 

UserDao里是這樣(我一直不明白為什麼加個這個玩意,別人說是為了簡單方便,我先這麼理解吧)

package com.user.dao;

import java.util.List;
import com.user.entity.User;

public interface UserDao {
 public boolean isExist(String username,String password);//判斷用戶名和密碼是否正確
 public boolean add(User user);
 public List<User> selectAll();
 public boolean delete(int uid);
 public User selectByUid(int uid);
 public boolean update (User user);
 //List<User> list=udi.mohuselect(namecondition);
 public List<User> mohunameselect(String namecondition);
 public List<User> mohuageselect(int minage,int maxage);
 public List<User> mohuadressselect(String adresscondition);
 public List<User> mohusexselect(String sexcondition);
}

UserDaoImp類是這樣

DBCon db=new DBCon();
 //4個資料庫連接對象
 Connection con=null;
 Statement stmt=null;//為了發送Sql語句
 PreparedStatement pstmt=null;//???
 ResultSet rs=null;//存放集合
 public void close()//這個方法跟理解沒啥關係,就是為了關閉偷懶
 {
  try {
   if(rs!=null){
    rs.close();
   }
   if(pstmt!=null){
    pstmt.close();
   }
   if(stmt!=null){
    stmt.close();
   }
   if(con!=null){
    con.close();
   }
   
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 @Override
 public boolean isExist(String username, String password) {
  System.out.println("正在執行DAO中isExist方法");
  Boolean flag=false;
  try {
   con=db.getCon();
   if(con==null)
   {
    System.out.println("DAO中selectByName方法連接失敗");
    return flag;
   }
   String sql="select * from tb_users where username=? AND password=?";//寫了sql語句
   pstmt=(PreparedStatement) con.prepareStatement(sql);//???
   pstmt.setString(1, username);
   pstmt.setString(2, password);
   rs=pstmt.executeQuery();//這才是正八經將語句發給了mysql
   if(rs.next())//開始找有沒有符合的
   {
    flag=true;
   }else{
    System.out.println("不能找到該人");
   }
   this.close();
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return flag;
 }

//困了,睡覺,不明白的是找是找到了,找到了,沒點顯示嗎?在flag=ture那寫個    System.out.println("找到該人");???我自己看到了有啥用,我想給頁面跳到別的頁面才行啊,嗯,明天再寫寫。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 交換2個number類型的變數的值,不能使用第三方變數 ...
  • 1.彈出框 ,小括弧中就是彈出的內容 alert("我是一個彈出框"); 2.控制台輸出 小括弧裡面就是 控制台輸出的東西 console.log("我是控制台輸出的內容"); 3.彈出輸入框,可以接受用戶輸入的信息。 3.1 prompt("請輸入你的名字"); 3.2 prompt("請輸入你的 ...
  • vue——props的兩種常用方法 1、實現父—— 子的通信 舉例如下: 父組件 parent.vue <children :channel="object1" </children 子組件 children.vue export default{ name:"children", pr ...
  • 背景圖片自適應瀏覽器大小 之前在網上看到的一個小技巧,記錄一下:背景圖片鋪滿屏幕並且可以隨著瀏覽器進行自適應,代碼如下: <body <div style="position:absolute; width:100%; height:100%; z index: 1" <img s ...
  • 1、塊級作用域 (1)使用let代替var 好處:變數應該只在其聲明的代碼塊內有效;var命令存在變數提升效用,let命令沒有這個問題。 (2)全局常量 在let和const之間,建議優先使用const,尤其是在全局環境,不應該設置變數,只應設置常量。 const優於let有幾個原因。一個是cons ...
  • Apache Log4j 2 Apache Log4j 2是對Log4j的升級,它比它的前輩Log4j 1提供了顯著的改進。在解決Logback的架構中存在的一些固有問題時,提供了許多可用的改進。 特性 API分離 Log4j的API與實現分離,使應用程式開發人員清楚地知道,他們可以使用哪些類和方法 ...
  • CLR(Common Language Runtime)公共語言進行時是一個可由多種編程語言使用的“進行時”。 將源代碼編譯成托管模塊 可用支持CLR的任何語言創建源代碼文件,然後用對應的編譯器檢查語法和分析源代碼。無論選擇哪個編譯器,結果都是托管模塊(managed module)。托管模塊是標準 ...
  • 元類 在 Python中,實例對象是由類生成的,而類本身也是可以被傳遞和自省的對象。那麼類對象是用什麼創建和生成的呢?答案是元類,元類就是一種知道如何創建和管理類的對象。 讓我們回顧一個內置函數type(),type不僅可以返回對象的類型,而且可以使用類名稱、基類元組、類主體定義的字典作為參數來創建 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...