我們通過寫一個簡單的mybatis小項目來在實戰中學習mybatis
1.需求
根據使用者id(主鍵)查詢使用者資訊
根據使用者名稱模糊查詢使用者資訊
添加使用者
删除 使用者
更新使用者
mybatis運作環境(jar包):
從https://github.com/mybatis/mybatis-3/releases下載下傳,3.2.7版本
lib下:依賴包
mybatis-3.2.7.jar:核心 包
mybatis-3.2.7.pdf,操作指南
加入mysql的驅動包
加入的所有jar包如圖(可以在這裡下載下傳:http://download.csdn.net/detail/u013517797/8781295)
2.建立log4j.properties
在src中放入日志配置檔案
檔案内容(拷貝自官方幫助文檔)
接下來建立sqlmapconfig.xml等檔案
配置好之後的整個工程結構為圖
3.sqlmapconfig.xml
sqlmapconfig.xml内容如下
(由于沒有整合spring,暫時在environments中配資料庫連接配接池datasource,整合spring之後将這一塊删除就行了)
4.建立po(persistant object持久對象)類
在資料庫中建立mtbatis資料庫,建立user表,表詳細内容為
id<int>、username<vachar>、birthday<date>、sex<int>、address<vachar>
在cn.edu.hpu.mybatis.po包下建立po對象
user.java:
5.編寫user.xml配置檔案
我們來寫user.xml(裡面詳細注釋,就不多說了):
6.在sqlmapconfig.xml中加載映射檔案(user.xml)
7.編寫程式
(1)同歸id查詢使用者
在cn.edu.hpu.mybatis.first包下編寫測試樣例mybatisfirst.java
這裡我們查詢id為1的使用者
測試結果:張三
檢視控制台console輸出的日志記錄:
很清晰的看到整個執行過程
(2)通過使用者名模糊查詢使用者id
使用user.xml,添加根據使用者名稱模糊查詢使用者資訊的sql語句。
測試方法:
測試結果:
1:張三
4:張三豐
輸出的日志資訊:
小結:
a.parametertype
在映射檔案中通過parametertype指定輸入參數的類型
b.resulttype
在映射檔案中通過resulttype指定輸出結果的類型
c.#{}和${}
#{}表示一個占位符号
${}表示一個拼接符号,會引起sql注入,是以不建議使用
d.selectone和selectlist
selectone表示查詢一條記錄進行映射,使用selectlist也可以使用,隻不過隻有一個對象
selectlist表示查詢出一個清單(參數記錄)進行映射,不嗯能夠使用selectone查,不然會報下面的錯:
org.apache.ibatis.exceptions.toomanyresultsexception: expected one result (or null) to be returned by selectone(), but found: 2
轉載請注明出處:http://blog.csdn.net/acmman/article/details/46400145