mybatis快速入門學(xué)習(xí)教程新手注意問題小結(jié)
什么是mybatis
MyBatis是支持普通SQL查詢,存儲(chǔ)過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄.
orm工具的基本思想
無論是用過的hibernate,mybatis,你都可以法相他們有一個(gè)共同點(diǎn):
1. 從配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory 產(chǎn)生 session
3. 在session 中完成對數(shù)據(jù)的增刪改查和事務(wù)提交等.
4. 在用完之后關(guān)閉session 。
5. 在Java 對象和 數(shù)據(jù)庫之間有做mapping 的配置文件,也通常是xml 文件。
參數(shù)問題
在映射文件中通過parameterType指定輸入?yún)?shù)的類型;在映射文件中通過resultType指定輸出結(jié)果的類型。
占位符和拼接符問題
#{}表示一個(gè)占位符號,#{}接收輸入?yún)?shù),類型可以是簡單類型,pojo、hashmap。
如果接收簡單類型,#{}中可以寫成value或其它名稱。
#{}接收pojo對象值,通過OGNL讀取對象中的屬性值,通過屬性.屬性.屬性...的方式獲取對象屬性值。
${}表示一個(gè)拼接符號,會(huì)引用sql注入,所以不建議使用${}。
${}接收輸入?yún)?shù),類型可以是簡單類型,pojo、hashmap。
如果接收簡單類型,${}中只能寫成value。
${}接收pojo對象值,通過OGNL讀取對象中的屬性值,通過屬性.屬性.屬性...的方式獲取對象屬性值。
selectone和selectList
在我們通過sqlSession進(jìn)行查詢的時(shí)候,可以選擇selectOne和選擇SelectList,這個(gè)時(shí)候,它們是有區(qū)別的。
selectOne表示查詢出一條記錄進(jìn)行映射。如果使用selectOne可以實(shí)現(xiàn)使用selectList也可以實(shí)現(xiàn)(list中只有一個(gè)對象)。
selectList表示查詢出一個(gè)列表(多條記錄)進(jìn)行映射。如果使用selectList查詢多條記錄,不能使用selectOne。
如果使用selectOne報(bào)錯(cuò):
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 4
以上所述是小編給大家介紹的mybatis快速入門學(xué)習(xí)教程新手注意問題小結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
springboot+spring?data?jpa實(shí)現(xiàn)新增及批量新增方式
這篇文章主要介紹了springboot+spring?data?jpa實(shí)現(xiàn)新增及批量新增方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java中十六進(jìn)制和十進(jìn)制之間互相轉(zhuǎn)換代碼示例
這篇文章主要給大家介紹了關(guān)于Java中十六進(jìn)制和十進(jìn)制之間互相轉(zhuǎn)換的相關(guān)資料,我們項(xiàng)目過程中總是要用到十進(jìn)制與十六進(jìn)制相互轉(zhuǎn)換的方法,需要的朋友可以參考下2023-07-07idea 普通文件夾 轉(zhuǎn)換成 module操作
這篇文章主要介紹了idea 普通文件夾 轉(zhuǎn)換成 module操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08解決FontConfiguration.getVersion報(bào)空指針異常的問題
這篇文章主要介紹了解決FontConfiguration.getVersion報(bào)空指針異常的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06java實(shí)現(xiàn)簡單登錄界面的實(shí)戰(zhàn)過程
學(xué)習(xí)JAVA的過程當(dāng)中,登陸界面是多數(shù)人第一個(gè)實(shí)現(xiàn)的小程序,下面這篇文章主要給大家介紹了關(guān)于利用java實(shí)現(xiàn)簡單登錄界面的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05