詳解Mybatis中的CRUD
1、namespace
namespace中的包名要和Dao/mapper接口的包名一致!
2、 select
選擇,查詢語句;
- id:就是對(duì)應(yīng)的namespace中的方法名;
- resultType: Sql語句執(zhí)行的返回類型!
- parameterType:參數(shù)類型!
1.編寫接口
//根據(jù)id查詢用戶 User getUserById(int id);
2.編寫對(duì)應(yīng)的mapper.xml中的sql語句
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User"> select * from mybatis.user where id = #{id} </select>
3.測(cè)試
@Test public void getUserLike(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.getUserLike("李"); for (User user : userList) { System.out.println(user); } sqlSession.close(); }
3、Insert
<!--對(duì)象中的屬性,可以直接取出來--> <insert id="addUser" parameterType="com.kuang.pojo.User"> insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd}); </insert>
4、update
<update id="updateUser" parameterType="com.kuang.pojo.User"> update mybatis.user set name = #{name},pwd=#{pwd} where id = #{id}; </update>
5、Delete
<delete id="deleteUser" parameterType="int"> delete from mybatis.user where id = #{id}; </delete>
注意點(diǎn):
增刪改需要提交事務(wù)(sqlSession.commit())
6、分析增刪改查會(huì)遇到的錯(cuò)誤
- 標(biāo)簽不要匹配錯(cuò)
- resource綁定mapper,需要使用路徑
- 程序配置文件必須符合規(guī)范
- NullPointerException,沒有注冊(cè)到資源!
- 輸出的xml文件中存在中文亂碼問題!
- maven資源沒有導(dǎo)出問題
到此這篇關(guān)于詳解Mybatis中的CRUD的文章就介紹到這了,更多相關(guān)Mybatis的CRUD內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?超詳細(xì)講解類的定義方式和對(duì)象的實(shí)例化
Java是一門純面向?qū)ο蟮恼Z言(Object?Oriented?Program,繼承OOP),在面對(duì)對(duì)象的世界里面,一切皆為對(duì)象。面向?qū)ο笫墙鉀Q問題的一種思想,主要依靠對(duì)象之間的交互完成一件事情2022-03-03詳解Spring Boot 使用Java代碼創(chuàng)建Bean并注冊(cè)到Spring中
本篇介紹了Spring Boot 使用Java代碼創(chuàng)建Bean并注冊(cè)到Spring中,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Java中大數(shù)據(jù)推薦算法使用場(chǎng)景分析
在Java中實(shí)現(xiàn)大數(shù)據(jù)推薦算法時(shí),通常會(huì)使用一些開源的機(jī)器學(xué)習(xí)庫(kù),如Apache Mahout、Weka、DL4J(DeepLearning4j,用于深度學(xué)習(xí))或者Spark MLlib(用于在Spark集群上運(yùn)行),這篇文章主要介紹了Java中可以用的大數(shù)據(jù)推薦算法,需要的朋友可以參考下2024-06-06SpringBoot+Redis+Lua分布式限流的實(shí)現(xiàn)
本文主要介紹了SpringBoot+Redis+Lua分布式限流的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Java實(shí)現(xiàn)簡(jiǎn)單的郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的郵件發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07Springboot中使用Filter實(shí)現(xiàn)Header認(rèn)證詳解
這篇文章主要介紹了Springboot中使用Filter實(shí)現(xiàn)Header認(rèn)證詳解,當(dāng)在?web.xml?注冊(cè)了一個(gè)?Filter?來對(duì)某個(gè)?Servlet?程序進(jìn)行攔截處理時(shí),它可以決定是否將請(qǐng)求繼續(xù)傳遞給?Servlet?程序,以及對(duì)請(qǐng)求和響應(yīng)消息是否進(jìn)行修改,需要的朋友可以參考下2023-08-08SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置詳解
這篇文章主要介紹了SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02mybatis-plus分頁查詢?nèi)N方法小結(jié)
本文主要介紹了mybatis-plus分頁查詢?nèi)N方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05