1. 程式人生 > >JavaWeb開發基於Spring和mybatis框架(學習日誌)

JavaWeb開發基於Spring和mybatis框架(學習日誌)

我更想把它當成我的日誌:

今天是迴歸javaweb的第一天……

先說一下我對spring框架的理解(個人意見):從控制器捕獲了url然後用方法執行某個jsp,如果需要執行特殊的操作,例如將資料庫裡的資料展示在jsp頁面中,就需要在控制器方法中呼叫service等等取得資料,然後讓資料在jsp中顯示。另外jsp中也可以回到控制器,再由控制器到其他的jsp。

只想默默地說一句,程式碼會用就行。

對mybatis今天的成果就是能將mybatis生成的sql語句輸出到控制檯只需要把下列程式碼複製到log4j.properties

log4j.rootLogger=debug,stdout,logfile
log4j.appender
.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4j.logger.com.ibatis=DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate
=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG

經過測試是完全可用的!!!這樣有助於瞭解mybatis的原理

對Spring的進一步剖析:

傳送:使用者請求–控制器–服務–資料dao層

接收:資料dao層–服務–控制器–使用者請求

使用者請求通過url傳送,如果從jsp頁面傳送請求到控制器同樣也是通過url。控制器通過傳參的方式傳送給服務層。服務層可以對控制器傳來的引數或者從dao層返回的資料進行操作。dao層是從資料庫取資料也可以對服務層傳來的引數和資料進行處理。

對mybatis的進一步剖析:

過程: 資料dao層–資料庫

dao層通過傳參的方式獲取資料庫的資料,可以只傳url也可以傳url和變數。
url是mybatis中的xml設定的對映路徑(一般在dao層所在的包中,字尾名為xml)+在相應xml中的id。變數型別的話在相應的xml中設定,只要把url和變數給xml,剩下的工作就體現框架的好處了。

對mybatis更深層的瞭解:

在配置mybatis的時候需要注意到幾個名詞:資料庫連線池、sql會話工廠,sql對映。

資料庫連線池的作用是連線資料庫,需要設定連線資料庫的一些資訊,例如url,資料庫文字,密碼等,有時候還與jdbc.properties配合使用。
sql會話工廠的作用是生成sql語句,在配置的時候會給這個mybatis起個類名以方便在其他程式碼中使用,該類生成的物件就可以使用mybatis中自帶的方法selectOne、selectList、insert、delete等,把sql語句的路徑做引數(也可以加資料)發過去就行了。
sql對映的作用是根據sql會話發過來的路徑找到已經寫好的sql語句,也可以再對sql語句進行處理。

明白這三個名詞的意思,mybatis就懂得差不多了。