如何理解weed3-4.1開始注解sql的使用,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供南雄網(wǎng)站建設(shè)、南雄做網(wǎng)站、南雄網(wǎng)站設(shè)計、南雄網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、南雄企業(yè)網(wǎng)站模板建站服務(wù),十載南雄做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
源碼:https://github.com/noear/weed3 源碼:https://gitee.com/noear/weed3
1.項目開啟編譯參數(shù):-parameters
//申明mapper public interface DbMapper1{ @Sql("select * from appx where app_id = @{app_id} limit 1") AppxModel appx_get(int app_id) throws Exception; } //使用mapper DbMapper1 dm = db.mapper(DbMapper1.class); AppxModel m = dm.appx_get(1);
1.申明一個mapper
//加了替換符 //加了緩存控制 public interface DbMapper1{ @Sql(value = "select * from ${tb} where app_id = @{app_id} limit 1", caching = "test", cacheTag = "app_${app_id}") AppxModel appx_get(String tb, int app_id) throws Exception; }
2.使用它
DbContext db = new DbContext(...); DbMapper1 dm = db.mapper(DbMapper1.class); AppxModel m = dm.appx_get("appx",1);
${}
替代變量(相當(dāng)于占位符,進行字符串拼接)
@{}
編譯變量(會編譯為?,通過變量傳遞給jdbc)
caching
緩存服務(wù)
cacheTag
緩存標(biāo)簽(在key之上,建立的虛擬tag;為便于清理)
usingCache
緩存使用時間
cacheClear
緩存清理(通過cacheTag形式清理)
更新之后,清掉緩存:app_${app_id}
public interface DbMapper2{ @Sql(value = "update appx set name=@{name} where app_id = @{app_id}", caching = "test", cacheClear = "app_${app_id}") void appx_set(int app_id, String name) throws Exception; }
使用查詢結(jié)果構(gòu)建cahce tag:app_type${type}
public interface DbMapper3{ @Sql(value = "select * from appx where app_id = @{app_id} limit 1", caching = "test", cacheTag = "app_${app_id},app_type${type}") AppxModel appx_get(int app_id) throws Exception; }
//隨便寫在哪里 //1.初始化一個ICacheServiceEx //2.通過nameSet("test") 注冊到緩存庫 //3.之后就可以被 @sql的 caching 使用(xml sql 的 caching 同樣如此) // new LocalCache("test",60).nameSet("test");
關(guān)于如何理解weed3-4.1開始注解sql的使用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。