【解答】

示例代码及EMPLOYEE建表语句见 命名SQL缓存demo.zip

1、在Mysql5.5.29上创建命名SQL需要查询的表EMPLOYEE,新增两条数据

DROP TABLE EMPLOYEE;

CREATE TABLE EMPLOYEE

(EMP_ID NUMBER(10,0) NOT NULL primary key,

EMP_NAME VARCHAR(64),

BIRTHDAY DATE,

ADDRESS VARCHAR(128)

);

INSERT INTO "EMPLOYEE" ("EMPID", "EMPNAME", "BIRTHDAY", "ADDRESS") VALUES (1, 'zhangsan', , '陕西西安');

INSERT INTO "EMPLOYEE" ("EMPID", "EMPNAME", "BIRTHDAY", "ADDRESS") VALUES (2, 'lisi', , '陕西宝鸡');

2、表创建完成后,创建数据集test,生成持久化数据实体Employee

9377aeebc1ad4a03e1c6b110dee9790c.png

3、开发查询用的命名SQL:id="employeeSelectMap"为查询单条数据的sql,id="employeeSelectAll"为查询全部数据的sql

select * from employee

WHERE emp_id = #empId#

select * from employee

4、创建执行命名sql的逻辑流queryEmplyee.bizx,配置查询单条数据的命名sql

48adce006f9e3e97a9dec8f6828f4e4a.png

5、在Governor—>配置—>缓存,选择default应用,添加命名SQL缓存,重启Server,使配置生效

4c4bef57bf137124654fa6055667a453.png

6、创建查询命名SQL缓存的逻辑流query.bizx:

c658e358d4a18b25b6cfaa173f08b30a.png

7、效果验证:先执行queryEmplyee逻辑流,查询empId为1的数据,紧接着执行query逻辑流,从缓存里获取empId为1的数据

出现下图数据,表示从成功从缓存中获取到了数据

7ffee234390e2007bdccd5cf0fff7d93.png

备注:1、若在其他数据库上执行demo中的脚本需要先进行调整或自行创建表;

2、查询单条数据的sql和查询全部数据的sql可以通过isNotNull进行合并,合并后governor中缓存名称配置相同

参见06 命名SQL缓存开发中关于isNotNull的使用说明

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐