weed3-2.4.存储过程与查询过程

Weed3 一个微型ORM框架(只有0.1Mb哦)

源码:https://github.com/noear/weed3
源码:https://gitee.com/noear/weed3

关于存储过程的支持,设计了两个方案
  • 1.对接数据库的存储过程调用
db.call("user_get").set("_user_id",1).getMap();
  • 2.SQL查询过程(我叫它:查询过程)

看起来跟mybatis的SQL注解代码有点儿像

//由SQL构建的一个查询
db.call("SELECT * FROM user WHERE id=@{user_id}").set("user_id",1).getMap();
还可以对它们进行实体化(变成一个独立的类)

实体化的作用在于,可将数据处理安排到别的模块(或文件夹)

  • 1.对接数据库的存储过程实体化
public class user_get extends DbStoredProcedure {
    public user_get() {
        super(DbConfig.test);

        call("user_get");
        set("_userID", () -> userID);
    }

    public long userID;
}

user_get sp  =new user_get();
sp.userID=10;
Map<String,Object> map = sp.caching(cache).getMap();//顺带加个缓存
  • 2.查询过程的实体化
public class user_get2 extends DbQueryProcedure {
    public user_get2() {
        super(db);

        sql("select * from user where type=@{type} AND sex=@{sex}");
        // 这个绑定写法,想了很久才想出来的(就是不想反射!)
        set("type", () -> type);
        set("sex", () -> sex);
    }

    public int type;
    public int sex;
}
//DbQueryProcedure 提供了与 DbStoredProcedure 相同的接口
user_get2 sp  =new user_get2();
sp.userID=10;
Map<String,Object> map = sp.caching(cache).getMap();
下一篇:2.5.解决数据库关键字问题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,056评论 1 3
  • 理工寝室商店-微信小程序 疑问小结 当时在XAMMP下mysql目录下的bin下 php -v 不起作用.到ph...
    这个超人不会飞阿阅读 1,744评论 1 1
  • ​ 1 从我大学毕业到医院工作开始,就常听同事们抱怨护理工作累,这两年听到的抱怨尤其多,离职的同事也越来越多,收入...
    言羊羊阅读 355评论 0 0
  • 原文:https://www.cnblogs.com/zhanyishu/p/6587571.html, 根据原文...
    涔_dd90阅读 1,731评论 0 0
  • 还有5天就要考gre了,这本应是我准备最最充分的一次,可惜却和一个很棒的实习撞车了,我这个人容易犯懒,又贪,还容易...
    眼汪底阅读 167评论 0 0