1. 程式人生 > >基於MySQL網路通訊協議 編寫自己的JDBC

基於MySQL網路通訊協議 編寫自己的JDBC

基於MySQL網路協議實現自己的資料庫驅動。主要是利用Wireshark解析MySQL的packet,使用Socket實現通訊。具體實現思路可以點選下方的個人部落格檢視 。程式碼上傳至GitHub

在實現功能,借鑑了 sea-boat的packet實現,在其基礎上進行功能塊的編寫,如查詢功能可以看下面列子

package com.jiagu.mysql.CURD;

/**
 * Created by jintx on 2018/11/1.
 */
public class QueryTest {

    public static void main(String args[]
) throws Exception{ Query query = new Query(); String host = "192.168.43.97";//資料庫ip地址 int port = 3306;//埠號 String user = "root";//使用者名稱 String password = "tdlab401";//密碼 String dataBase = "data";//操作的資料庫名 String sqlStr = "SELECT name,author FROM `paper` limit 0,2;"
;//查詢語句 query.query(host,port,user,password,dataBase,sqlStr);//輸出結果 } }

結果:

一種基於混沌的敏感資料加密演算法,司德成,

水下無線電能傳輸和訊號介面系統設計和分析,周世鵬,

實現自己的資料庫驅動——MySQL網路協議(一)

實現自己的資料庫驅動——WireShark分析MySQL網路協議中的資料包(二)

實現自己的資料庫驅動——MySQL協議Handshake解析(三)

實現自己的資料庫驅動——MySQL協議Auth Packet解析(四)

實現自己的資料庫驅動——MySQL協議OK/Error包解析(五)

實現自己的資料庫驅動——MySQL協議Result Set包解析(六)

實現自己的資料庫驅動——MySQL協議Quit包解析(七)

實現自己的資料庫驅動——位元組位運算細節(八)

實現自己的資料庫驅動——Packet的read(九)

實現自己的資料庫驅動——Packet的write(十)