如何理解weed3-4.1开始注解sql的使用
如何理解weed3-4.1开始注解sql的使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
成都创新互联专业为企业提供南雄网站建设、南雄做网站、南雄网站设计、南雄网站制作等企业网站建设、网页设计与制作、南雄企业网站模板建站服务,十载南雄做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Weed3 一个微型ORM框架(只有0.1Mb哦)
源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3
使用约定***
1.项目开启编译参数:
-parameters
先来一个demo
//申明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);
然后复杂一点点demo1
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);
两种变量形式 + 缓存控制
${}
替代变量(相当于占位符,进行字符串拼接)@{}
编译变量(会编译为?,通过变量传递给jdbc)
caching
缓存服务cacheTag
缓存标签(在key之上,建立的虚拟tag;为便于清理)usingCache
缓存使用时间cacheClear
缓存清理(通过cacheTag形式清理)
再来一个demo2
更新之后,清掉缓存: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; }
再来一个demo3
使用查询结果构建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");
关于如何理解weed3-4.1开始注解sql的使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
网页标题:如何理解weed3-4.1开始注解sql的使用
地址分享:http://ybzwz.com/article/ggsdji.html