(Mybatis)增删改查实现
生活随笔
收集整理的這篇文章主要介紹了
(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代碼執行時傳遞通配符
2)在sql拼接中使用通配符
select * from mybatis.user where name like "%"#{value}"%"最好用java代碼執行時傳遞通配符,用sql拼接方式容易產生sql注入問題
3.測試
總結
以上是生活随笔為你收集整理的(Mybatis)增删改查实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (数据结构与算法)数组和单链表实现栈的基
- 下一篇: (Mybatis)XML配置解析