原创 Java NIO 詳解---NIO中的異步網絡IO

前面的例子都是關於如何通過NIO操作文件讀寫的,我們知道BIO中的Socket、ServerSocket提供了網絡通信的能力,在NIO中也有對應的模塊提供了這種能力,並且具有更加強大的功能—通過異步非阻塞的數據讀寫實現一個線程監聽

原创 mybatis TypeHandler詳解

1.TypeHandler概念 TypeHandler,類型轉換器,在mybatis中用於實現java類型和JDBC類型的相互轉換.mybatis使用prepareStatement來進行參數設置的時候,需要通過typeHand

原创 Databus簡介

1.背景 在互聯網架構中,數據系統通常分爲真實數據(source-of-truth)系統,作爲基礎數據庫,存儲用戶產生的寫操作;以及衍生數據庫或索引,提供讀取和其他複雜查詢操作。後者常常衍生自主數據存儲,會對其中的數據做

原创 mybatis映射器文件配置

所謂的映射器可以理解爲前面配置的mapper.xml文件,在這個文件中我們通過namespace將配置和指定的Dao層接口關聯起來,準確的來說是爲每個Dao層接口中的方法配置具體的sql語句;另外mapper文件中還可以爲查詢語句

原创 Thinking in Java --日誌初步學習

1.log4j簡介 Log4j由三個重要的組件構成:日誌信息的級別(Loggers),日誌信息的輸出目的地(Appenders),日誌信息的輸出格式(Layouts)。日誌信息的級別指定這條日誌信息的重要程度;日誌信息的

原创 mybatis基礎入門

一.mybatis簡介 Java 提供了JDBC來操作數據庫,但是JDBC本身訪問數據庫的操作比較複雜,具體來說1.對於每次的sql查詢都需要重複編寫樣板代碼 2.查詢過程中需要手動處理各種異常 3.查詢結束後需要手

原创 JAVA BIO 回顧

應用程序難免會有輸入和輸出,輸入輸出的對象包括內存、文件、網絡等,Java.io包就是用於進行這個工作的,但是這個包也並沒有處理所有的輸入輸出類型,比如GUI或網頁上的輸出。 1.關於輸入和輸出流 我們通常將OutputSt

原创 Cookie和Session詳解

http是一個無狀態的協議,對於客戶端的每次請求服務端在發送完響應後一般會把連接給斷開,下次發送請求又會建立一個新的連接,這樣就產生了服務端無法判斷客戶端身份的問題,Cookie和Session就是解決服務端和客戶端交互問題的兩種

原创 mybatis 動態sql

很多時候需要根據傳入的條件去進行sql的拼接,mybatis提供了幾個基本的元素,通過這幾個標籤在xml文件中就可以實現SQL的動態拼接。 最常使用的幾個元素定義如下: 語句 作用 備註 if 判斷語句 單條件分支判

原创 jetty的安裝和啓動

Jetty是當下非常流行的一款輕量級Java Web服務器和Servlet容器實現,它由Eclipse基金會託管,完全免費而且開放源代碼,因此所有人均可以從其官網下載最新源代碼進行研究。由於其輕量、靈活的特性,Jetty被廣泛用於

原创 mybatis中的緩存

緩存的優點在於能夠加快查詢的速度,在數據庫查詢的情景之下,在需要多次執行同一sql(sql語句相同,參數相同)的情況下,如果能將查詢的結果緩存下來就不需要每次都到數據庫上去真正執行查詢語句,顯然能加快查詢速度。mybatis提供了

原创 mybatis主配置文件解析

所謂mybatis主配置文件就是上一篇文章中提到的mybatis-config.xml,SqlSessionFactoryBuilder 通過解析這個配置文件得到代表數據庫的SqlSessionFactory對象,所以說這個文件是

原创 jdbc訪問數據庫詳解

一.jdbc簡介 jdbc,java database Connectivity即java數據庫連接,是一組定義瞭如何連接和操作數據庫的java api。下面結合一個簡單示例說明下具體步驟: public class Ma

原创 類找不到總結java.lang.ClassNotFoundException

(1)org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class ‘com.microsoft.sqlserver.jdbc.SQL

原创 Web服務器、Servlet容器和Servlet

1.什麼是Web服務器 想要知道什麼是Servlet容器,我們首先要知道什麼是Web服務器。 Web服務器使用HTTP協議來傳輸數據。 最簡單的一種情況是,用戶在瀏覽器(客戶端,client)中輸入