前言:IntelliJ IDEA 如果說IntelliJ IDEA是一款現(xiàn)代化智能開發(fā)工具的話,Eclipse則稱得上是石器時(shí)代的東西了。其實(shí)筆者也是一枚從Eclipse轉(zhuǎn)I...
前言:IntelliJ IDEA 如果說IntelliJ IDEA是一款現(xiàn)代化智能開發(fā)工具的話,Eclipse則稱得上是石器時(shí)代的東西了。其實(shí)筆者也是一枚從Eclipse轉(zhuǎn)I...
mapper.xml和mapper.java 通過MapperFactoryBean創(chuàng)建代理對(duì)象 此方法問題:需要針對(duì)每個(gè)mapper進(jìn)行配置,麻煩。 通過MapperSca...
User.xml 在SqlMapConfig.xml中加載User.xml dao(實(shí)現(xiàn)類繼承SqlSessionDaoSupport) dao接口實(shí)現(xiàn)類需要注入SqlSes...
整合思路 需要spring通過單例方式管理SqlSessionFactory。spring和mybatis整合生成代理對(duì)象,使用SqlSessionFactory生成SqlS...
ehcache是一個(gè)分布式緩存框架。 分布緩存 我們系統(tǒng)為了提高系統(tǒng)并發(fā)、性能,一般對(duì)系統(tǒng)進(jìn)行分布式部署(集群部署方式)不使用分布緩存,緩存的數(shù)據(jù)在各個(gè)服務(wù)器單獨(dú)存儲(chǔ),不方便...
二級(jí)緩存原理 首先開啟mybatis的二級(jí)緩存。SqlSession1去查詢用戶id為1的用戶信息,查詢到用戶信息會(huì)將查詢數(shù)據(jù)存儲(chǔ)到二級(jí)緩存中。如果SqlSession3去執(zhí)...
什么是查詢緩存 mybatis提供查詢緩存,用于減輕數(shù)據(jù)壓力,提供數(shù)據(jù)流性能。mybatis提供一級(jí)緩存,和二級(jí)緩存。 一級(jí)緩存是SqlSession級(jí)別的緩存。在操作數(shù)據(jù)庫(kù)...
什么是延遲加載 resultMap可以實(shí)現(xiàn)高級(jí)映射(使用association、collection實(shí)現(xiàn)一對(duì)一及一對(duì)多映射),association、collection具備...
需求 查詢用戶及用戶購(gòu)買的商品信息 sql語(yǔ)句 查詢主表是:用戶表關(guān)聯(lián)表:由于用戶和商品沒有直接關(guān)聯(lián),通過訂單和訂單明細(xì)進(jìn)行關(guān)聯(lián),所有關(guān)聯(lián)表:orders、orderdeta...
需求 查詢訂單及訂單明細(xì)的信息。 sql語(yǔ)句 確定主查詢表:訂單表確定關(guān)聯(lián)查詢表:訂單明細(xì)表在一對(duì)一查詢基礎(chǔ)上添加訂單明細(xì)表關(guān)聯(lián)即可。 分析 使用resultType將上邊的...
需求 查詢訂單信息,關(guān)聯(lián)查詢創(chuàng)建訂單的用戶信息 resultType sql語(yǔ)句 確定查詢的主表,訂單表確定查詢的關(guān)聯(lián)表,用戶表 創(chuàng)建pojo 將上邊sql查詢的結(jié)果映射到p...
向sql傳遞數(shù)組或list,mybatis使用foreach解析 需求 在用戶查詢列表和查詢列表總數(shù)的statement中增加多個(gè)id輸入查詢。sql語(yǔ)句如下:SELECT ...
什么是動(dòng)態(tài)sql mybatis核心對(duì)sql語(yǔ)句進(jìn)行靈活操作,通過表達(dá)式進(jìn)行判斷,對(duì)sql進(jìn)行靈活操作、組裝。 需求 用戶信息綜合查詢列表和用戶信息查詢列表總數(shù)這個(gè)兩個(gè)sta...
resultType 使用resultType進(jìn)行輸出映射,只有查詢出來的列名和pojo中的屬性名一致,該列才可以映射成功。如果查詢出來的列名和pojo中的屬性名全部不一致,...
輸入映射 通過parameterType指定輸入?yún)?shù)的類型,類型可以是簡(jiǎn)單類型、hashmap、pojo的包裝類型。 傳遞pojo的包裝對(duì)象 需求 完成用戶信息的綜合查詢,需...
mybatis的全局配置文件SqlMapperConfig.xml ,配置內(nèi)容如下: properties(屬性)settings(全局配置參數(shù))typeAliases(類...
測(cè)試代碼 代理對(duì)象內(nèi)部調(diào)用selectOne或selectList 如果mappe方法返回單個(gè)pojo對(duì)象(非集合對(duì)象),代理對(duì)象內(nèi)部通過selectOne查詢數(shù)據(jù)庫(kù) 如果m...
總結(jié)原始dao開發(fā)問題 dao接口實(shí)現(xiàn)類方法中存在大量模板方法,設(shè)想能否將這些代碼提取出來,大大減輕程序員的工作量。 調(diào)用sqlsession方法時(shí)將Statement的id...
原始dao的開發(fā)方法(程序員需要寫dao接口和dao實(shí)現(xiàn)類) dao接口 dao實(shí)現(xiàn)類 Test
SqlSession使用范圍 SqlSessionFactoryBuilder 通過SqlSessionFactoryBuilder創(chuàng)建會(huì)話工廠將SqlSessionFact...