日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(Mybatis)增删改查实现

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (Mybatis)增删改查实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • namespace
  • 增刪改查
    • 1. Select
    • 2. Insert
    • 3. Update
    • 4. Delete
  • 萬能Map
  • 模糊查詢

namespace


namespace一定要與mapper接口相對應

增刪改查

1. Select

1.編寫接口

//根據Id返回數據User getUserById(int id);

2.編寫對應mapper中的sql語句

<select id="getUserById" parameterType="int" resultType="com.zh.pojo.User">select * from mybatis.user where id = #{id}</select>

3.測試

@Testpublic void getUserById(){//獲取sqlSession對象SqlSession sqlSession = MybatisUtils.getSqlSession();//獲取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);User user = mapper.getUserById(1);System.out.println(user);//關閉資源sqlSession.close();}

2. Insert

1.編寫接口

//添加數據int insertUser(User user);

2.編寫對應mapper中的sql語句

<insert id="insertUser" parameterType="com.zh.pojo.User">insert into mybatis.user (id ,name ,pwd) values (#{id},#{name},#{pwd});</insert>

3.測試

@Testpublic void insertUser(){//獲取SqkSesion對象SqlSession sqlSession = MybatisUtils.getSqlSession();//獲取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.insertUser(new User(4,"伊澤瑞爾","123456"));//增刪改操作一定要commit提交事務sqlSession.commit();//關閉資源sqlSession.close();}

3. Update

1.編寫接口

//更新數據int updateUser(User user);

2.編寫對應mapper中的sql語句

<update id="updateUser" parameterType="com.zh.pojo.User">update mybatis.user set name = #{name},pwd = #{pwd} where id = #{id};</update>

3.測試

@Testpublic void updateUser(){//獲取sqlsession對象SqlSession sqlSession = MybatisUtils.getSqlSession();//獲取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.updateUser(new User(4,"卡莎","123456"));//提交事務sqlSession.commit();//關閉資源sqlSession.close();}

4. Delete

1.編寫接口

//根據id刪除數據int deleteUser(int id);

2.編寫對應mapper中的sql語句

<delete id="deleteUser" parameterType="int">delete from mybatis.user where id=#{id};</delete>

3.測試

@Testpublic void deleteUser(){//獲取sqlsession對象SqlSession sqlSession = MybatisUtils.getSqlSession();//獲取mapper對象UserMapper mapper = sqlSession.getMapper(UserMapper.class);//刪除id為4的數據mapper.deleteUser(4);//提交數據sqlSession.commit();//關閉資源sqlSession.close();}

萬能Map

假設,我們的實體類,或者數據庫中的表,字段或者參數過多,我們應當考慮使用Map!

1.編寫接口

//用map添加數據int insertUser2(Map<String,Object> map);

2.編寫對應mapper中的sql語句 ,參數類型map,不用每次輸入實體類,而且參數名字可以任意取。

<insert id="insertUser2" parameterType="map" >insert into mybatis.user (id,pwd) values (#{userid},#{userpwd});</insert>

3.測試

@Testpublic void insertUser2(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);//創建map集合Map<String,Object> map =new HashMap<String, Object>();//添加map鍵值對map.put("userid",4);map.put("userpwd","123456");mapper.insertUser2(map);sqlSession.commit();sqlSession.close();}

  • Map傳遞參數,直接在sql中取出key即可! 【parameterType=“map”】

  • 對象傳遞參數,直接在sql中取對象的屬性即可!【parameterType=“Object”】

  • 只有一個基本類型參數的情況下,可以直接在sql中取到!

  • 多個參數用Map,或者注解!

模糊查詢

1.編寫接口

//模糊查詢List<User> getUserLike( String value);

2.編寫對應mapper中的sql語句 ,不用寫參數,兩種方式。
1)在java代碼執行時傳遞通配符

List<User> userList = mapper.getUserLike("%李%"); <select id="getUserLike" resultType="com.zh.pojo.User">select * from mybatis.user where name like #{value};</select>

2)在sql拼接中使用通配符

select * from mybatis.user where name like "%"#{value}"%"

最好用java代碼執行時傳遞通配符,用sql拼接方式容易產生sql注入問題
3.測試

@Testpublic void getUserLike(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userLike = mapper.getUserLike("%李%");for (User user : userLike) {System.out.println(user);}sqlSession.close();}

總結

以上是生活随笔為你收集整理的(Mybatis)增删改查实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。