框架學習系列 mybatis第五篇入門程序根據用戶名模糊查詢
本節主要內容
1:根據上節課中提出的需求完成:根據用戶名模糊查詢${}的使用
2:測試代碼實現
3:總結&下節預告
本文是《凱哥陪你學系列-框架學習之mybatis框架學習》中第五篇 mybatis入門程序之需求開發2根據用戶名模糊查詢.
聲明:本文系凱哥原創。轉載請註明出處
一:根據用戶名模糊查詢分析
1.1:使用sql語句模糊查詢出用戶名是張三的sql語句怎麼寫?
查詢結果:
那麼在mybatis怎麼使用?
思考
1:查詢傳入的是string類型的。那麼parameterType應該怎麼寫?
2:mybatis中怎麼使用%%並且原文解析?是使用#{}還是使用其他的呢?
3:既然是模糊查詢,查詢出的是多條數據,是列表。那麼resultType由應該怎麼寫呢?
解答:
1:回憶上節所學的。parameteType:輸入參數的Java類型。可以是基本類型、對象類型、map類型等。既然是java類型的。那麼String對應java類型完整怎麼寫呢?
java.lang.String
2:使用${}進行處理
3:再次回憶上節課。resultType:輸出結果所映射的java類型(也就是單條結果所以對應的java類型)
單條結果數據的數據類型。這裡單條數據類型是pojo.user所以對應的類型應該是pojo.user了。
根據以上分析,我們可以在userMapper.xml文件中得到如下配置:
如果想用#{}寫的話:
測試代碼中:
userMapper.xml中:
在代碼中寫入%%不是很好。所以優化後,使用${}
說明:
${}:表示一個sql的連接符。如果java中 +作為連接符使用一樣 連接前後語句的
$:裡面的value表示輸入參數的名稱
如果該參數是簡單類型的,那麼${}裡面的參數名稱必須是value
${}:這種寫法存在sql注入的風險。因為是連接符作用,其中數據原樣輸出的
所以需要慎用!!!!
但是在一些場景下,必須使用${}這種寫法。
比如:排序的是,需要動態傳入排序對應列名的。所以需要使用${}來原樣輸出。不過多解釋.
二:測試代碼:
唯一不同的就是查詢返回的是list的時候使用的是selectList
完整代碼:
執行結果:
如果想要查看列印出的sql語句。需要添加log4j日誌。
1:添加jar
2:在config文件夾下添加log4j.properties文件。
內容如下:
重新執行查看控制台輸入語句:
三:總結&下節預告
通過本文學習,我們需要掌握的:
1:${}的使用。
${}的作用是什麼?在什麼請求下需要使用
${}為什麼要慎用!!
2:log4j的使用
下節預告:
現在我們已經完成了根據id精確查找、根據用戶名進行模糊查找。接下來我們要學習的是,向資料庫中添加數據。那麼在向資料庫插入數據需要注意些什麼呢?歡迎學習下一篇:《框架學習系列 mybatis 第6篇 mybatis入門程序之需求開發3向資料庫中插入數據》
歡迎關注凱哥公眾號:凱哥Java
框架學習系列 mybatis 第四篇 入門程序之需求開發1
框架學習系列 mybatis 第三篇入門程序之工程項目的搭建
框架學習系列 mybatis第二篇 mybatis的工作原理
框架學習系列 mybatis 第一篇 原生jdbc連接分析
※框架學習系列 mybatis 第四篇 入門程序之需求開發1
※框架學習系列 mybatis第二篇 mybatis的工作原理
※框架學習系列 mybatis 第三篇入門程序之工程項目的搭建
※老爺子,您這活到老學到老,這讓年輕的我們情何以堪?
※框架學習系列 mybatis 第一篇 原生jdbc連接分析
TAG:凱哥java |
※Kerberos域用戶名枚舉
※QuestMobile數據:小程序日活用戶突破了2億
※知名瀏覽器擴展 Stylish 竊取用戶瀏覽歷史
※Adobe探索VR繪畫系統Multiplanes,為用戶解決VR繪畫挑戰
※Google和Labster向Daydream VR用戶開放虛擬科學實驗室
※通過Password Vault的XSS漏洞獲取用戶密碼測試
※Facebook關閉數十萬應用程序的用戶數據訪問
※小程序用戶『註冊』流程分享——獲取openid
※phpmyadmin默認用戶名密碼及密碼修改
※FB及Cambridge Analytica因用戶數據泄露事件面臨訴訟
※Oculus與FramesDirect合作,為近視用戶提供定製鏡片
※Facebook用戶數據泄露細節曝光
※索尼Xperia用戶現在可通過PostNord訂購3D列印模型
※一名Origin用戶價值上萬的遊戲賬號被莫名刪除
※用戶數據泄漏,Google 宣布關閉個人版 Google+
※破解Centos7 root用戶密碼
※IMDb 用戶總結《Avengers : Infinity War》每位角色的上場時間
※法國眼鏡連鎖店 Optical center 因泄露用戶數據被罰25萬歐元
※Instagram發布視頻APP 共享Ins十億用戶
※Apple Music在美訂閱用戶數量已超Spotify