摘要:附轉(zhuǎn)義字符第二種方法因?yàn)檫@個(gè)是格式的,所以不允許出現(xiàn)類(lèi)似這樣的字符,但是都可以使用符號(hào)進(jìn)行說(shuō)明,將此類(lèi)符號(hào)不進(jìn)行解析你的可以寫(xiě)成這個(gè)文件示例代碼
一 多條件查詢(xún)專(zhuān)題 1.通過(guò)恒等式完成動(dòng)態(tài)SQL語(yǔ)句動(dòng)態(tài)SQL語(yǔ)句是核心之一,這里我們通過(guò)幾個(gè)示例來(lái)演示
涉及到if標(biāo)簽
user_id,user_name,sex,money,birthday ${alias}.user_id,${alias}.user_name,${alias}.sex,${alias}.money,${alias}.birthday
映射文件
Java測(cè)試代碼
@Test public void IF標(biāo)簽01(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); Mapquery = new HashMap<>(); query.put("name", "悟"); query.put("sex", "男"); List userList = sqlSession.selectList(User.class.getName()+".if01", query); System.out.println(userList); } finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解說(shuō)明
如果發(fā)現(xiàn)標(biāo)簽內(nèi)有內(nèi)容,那么會(huì)在內(nèi)容的最前面加入關(guān)鍵字 where
如果有內(nèi)容,會(huì)檢查內(nèi)容的最前面是否含有 AND空格 或者 OR空格 ,自動(dòng)將其抹掉
映射文件
Java測(cè)試代碼
@Test public void IF標(biāo)簽02(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); Mapquery = new HashMap<>(); query.put("name", "悟"); query.put("sex", "男"); List userList = sqlSession.selectList(User.class.getName()+".if02", query); System.out.println(userList); } finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解說(shuō)明
3.trim標(biāo)簽和if標(biāo)簽映射文件
Java測(cè)試代碼
@Test public void trim標(biāo)簽(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); Mapquery = new HashMap<>(); query.put("name", "悟"); query.put("sex", "男"); List userList = sqlSession.selectList(User.class.getName()+".if03", query); System.out.println(userList); } finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解說(shuō)明
當(dāng)你發(fā)現(xiàn)有內(nèi)容的時(shí)候,在內(nèi)容的最前面加入 set
當(dāng)你發(fā)現(xiàn)有內(nèi)容的時(shí)候,檢查內(nèi)容的最后面是否有逗號(hào)"," 如果將其抹掉
映射文件
UPDATE oa_user WHERE user_id=#{user_id} user_name=#{user_name}, sex=#{sex}, money=#{money}, birthday=#{birthday},
Java測(cè)試代碼
@Test public void 更新操作_變更數(shù)據(jù)庫(kù)(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); //數(shù)據(jù) User user = new User(); user.setUser_id(3); user.setUser_name("天蓬元帥"); //日期的轉(zhuǎn)換 String date = "1998-09-09"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(df.parse(date)); int row =sqlSession.update(User.class.getName()+".update01", user); System.out.println(row); //事務(wù)的提交 sqlSession.commit(); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解說(shuō)明
映射文件
UPDATE oa_user WHERE user_id=#{user_id} user_name=#{user_name}, sex=#{sex}, money=#{money}, birthday=#{birthday},
Java測(cè)試代碼
@Test public void 更新操作_TRIM標(biāo)簽_變更數(shù)據(jù)庫(kù)(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); //數(shù)據(jù) User user = new User(); user.setUser_id(3); user.setUser_name("天蓬元帥123"); //日期的轉(zhuǎn)換 String date = "1998-10-09"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(df.parse(date)); int row =sqlSession.update(User.class.getName()+".update02", user); System.out.println(row); //事務(wù)的提交 sqlSession.commit(); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }三 choose 標(biāo)簽簡(jiǎn)單使用
映射文件
Java測(cè)試代碼
@Test public void choose標(biāo)簽(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); Map四 小于號(hào)問(wèn)題query = new HashMap<>(); query.put("sex", "女123213"); List userList = sqlSession.selectList(User.class.getName()+".choose01", query); System.out.println(userList); } finally { MyBatisUtils.closeSqlSession(sqlSession); } }
映射文件
Java測(cè)試代碼
@Test public void 小于號(hào)的解決問(wèn)題(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); ListuserList = sqlSession.selectList(User.class.getName()+".less01", 1.0*800); System.out.println(userList); userList = sqlSession.selectList(User.class.getName()+".less02", 1.0*600); System.out.println(userList); } finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解說(shuō)明
五 動(dòng)態(tài)添加語(yǔ)句請(qǐng)參考附錄1說(shuō)明
映射文件
INSERT INTO oa_user user_name, sex, money, birthday, #{user_name}, #{sex}, #{money}, #{birthday},
Java測(cè)試代碼
@Test public void 動(dòng)態(tài)的添加語(yǔ)句(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); //數(shù)據(jù) User user = new User(); user.setUser_name("劉備12333333"); //日期的轉(zhuǎn)換 String date = "1998-10-09"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(df.parse(date)); user.setMoney(1111.11); int row =sqlSession.insert(User.class.getName()+".add01", user); System.out.println(row); //事務(wù)的提交 sqlSession.commit(); System.out.println(user); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }六 foreach標(biāo)簽 1.數(shù)組方式
映射方式
DELETE FROM oa_user WHERE user_id in #{shxt}
Java測(cè)試代碼
@Test public void 傳遞數(shù)組刪除規(guī)則(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); int row = sqlSession.delete(User.class.getName()+".delete01", new int[]{5,6}); //事務(wù)的提交 sqlSession.commit(); System.out.println(row); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }2.List方式
映射文件
DELETE FROM oa_user WHERE user_id in #{shxt}
Java測(cè)試代碼
@Test public void 傳遞集合刪除規(guī)則(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); List3.Map方式tempList = new ArrayList<>(); tempList.add(8); tempList.add(9); int row = sqlSession.delete(User.class.getName()+".delete02", tempList); //事務(wù)的提交 sqlSession.commit(); System.out.println(row); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }
映射方式
DELETE FROM oa_user WHERE user_id in #{shxt}
Java測(cè)試代碼
@Test public void 傳遞Map刪除規(guī)則(){ SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.getSqlSession(); ListtempList = new ArrayList<>(); tempList.add(7); tempList.add(10); Map map = new HashMap (); map.put("id_array", tempList); int row = sqlSession.delete(User.class.getName()+".delete03", map); //事務(wù)的提交 sqlSession.commit(); System.out.println(row); }catch (Exception ex) { ex.printStackTrace(); }finally { MyBatisUtils.closeSqlSession(sqlSession); } }
圖解方式
映射文件
附錄1 : MyBatis在xml文件中處理大于號(hào)小于號(hào)的方法 第一種方法:INSERT INTO oa_user VALUES (#{user.user_name},#{user.sex},#{user.money})
用了轉(zhuǎn)義字符把>和<替換掉,然后就沒(méi)有問(wèn)題了。
SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE
附:XML轉(zhuǎn)義字符
第二種方法因?yàn)檫@個(gè)是xml格式的,所以不允許出現(xiàn)類(lèi)似“>”這樣的字符,但是都可以使用符號(hào)進(jìn)行說(shuō)明,將此類(lèi)符號(hào)不進(jìn)行解析
你的可以寫(xiě)成這個(gè):
mapper文件示例代碼
??
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/70347.html
摘要:并且如果使用那么必須要指明值使用簡(jiǎn)單的數(shù)據(jù)類(lèi)型不好使使用接口代理模式的注解也可以 屬于MyBatis的核心之一,這里面的坑比較多,大家多多看看吧 一 模糊查詢(xún)的三種方式介紹 我會(huì)使用resultMap處理結(jié)果集數(shù)據(jù) 1.死數(shù)據(jù)的模糊查詢(xún) 映射文件 SELECT * FROM...
摘要:回顧上節(jié)課我們完成了的環(huán)境搭建核心配置文件映射文件的執(zhí)行過(guò)程如何執(zhí)行定制的語(yǔ)句我們測(cè)試的是死的數(shù)據(jù)那么下面我們使用容器傳遞動(dòng)態(tài)的數(shù)據(jù)添加操作傳遞數(shù)據(jù)專(zhuān)題通過(guò)傳遞數(shù)據(jù)映射文件代碼傳遞參數(shù)數(shù)據(jù)的類(lèi)型或者提供額內(nèi)置類(lèi)型映射中的獲取對(duì)應(yīng)的值 回顧: 上節(jié)課我們完成了MyBatis的環(huán)境搭建核心配置文件映射文件API的執(zhí)行過(guò)程如何執(zhí)行定制的SQL語(yǔ)句 我們測(cè)試的是死的數(shù)據(jù),那么下面我們使用容器傳...
摘要:說(shuō)在前面的話(huà)命名空間暫時(shí)約定持久化類(lèi)實(shí)體的類(lèi)名的全路徑一簡(jiǎn)單查詢(xún)結(jié)果集處理查詢(xún)結(jié)果集處理為類(lèi)型字段作為中的值映射文件命名空間唯一的不能重復(fù)結(jié)果集處理后變成類(lèi)型當(dāng)你傳遞的是一個(gè)簡(jiǎn)單的數(shù)據(jù)類(lèi)型的形參的時(shí)候那么你的值 說(shuō)在前面的話(huà) : 命名空間暫時(shí)約定-持久化類(lèi)(實(shí)體Bean)的類(lèi)名的全路徑 com.shxt.model.Skill 一 簡(jiǎn)單查詢(xún)結(jié)果集處理 1.查詢(xún)結(jié)果集處理為Map類(lèi)型 ...
摘要:文件知識(shí)點(diǎn)修飾類(lèi)不能被基礎(chǔ)修飾方法不能被重寫(xiě)修改變量常量不允許進(jìn)行實(shí)例化靜態(tài)代碼塊只是加載一次加載核心配置文件失敗圖解說(shuō)明加載屬性文件新建的根目錄下修改核心配置文件加載屬性文件配置數(shù)據(jù)庫(kù)的環(huán)境事務(wù)管理器保證數(shù)據(jù)的完整性 MyBatisUtils.java 文件 /** * 知識(shí)點(diǎn): * final 修飾類(lèi) : 不能被基礎(chǔ) * 修飾方法 : 不能被重寫(xiě) * 修改變量 : 常量 ...
閱讀 895·2021-09-22 15:18
閱讀 1262·2021-09-09 09:33
閱讀 2820·2019-08-30 10:56
閱讀 1262·2019-08-29 16:30
閱讀 1556·2019-08-29 13:02
閱讀 1515·2019-08-26 13:55
閱讀 1702·2019-08-26 13:41
閱讀 2016·2019-08-26 11:56