diff --git a/readme.md b/readme.md index daa71f0..4124c2b 100644 --- a/readme.md +++ b/readme.md @@ -8,4 +8,10 @@ 可以多刷新几次,再进入finedb数据中的fine_plugin_system_conf表查看 -![2](screenshots/2.png) \ No newline at end of file +![2](screenshots/2.png) + +在浏览器中访问 [http://localhost:8075/webroot/decision/url/db/output](http://localhost:8075/webroot/decision/url/db/output) + +可以把薪资大于10000.0的人的信息查询并输出出来 + +![3](screenshots/3.png) \ No newline at end of file diff --git a/screenshots/3.png b/screenshots/3.png new file mode 100644 index 0000000..551923a Binary files /dev/null and b/screenshots/3.png differ diff --git a/src/main/java/com/fr/conf/db/demo/InputHttpHandlerBridge.java b/src/main/java/com/fr/conf/db/demo/InputHttpHandlerBridge.java index 8dc1d4f..2ac6cec 100644 --- a/src/main/java/com/fr/conf/db/demo/InputHttpHandlerBridge.java +++ b/src/main/java/com/fr/conf/db/demo/InputHttpHandlerBridge.java @@ -1,6 +1,7 @@ package com.fr.conf.db.demo; import com.fr.conf.db.demo.fun.http.InputHttpHandler; +import com.fr.conf.db.demo.fun.http.OutputHttpHandler; import com.fr.decision.fun.HttpHandler; import com.fr.decision.fun.impl.AbstractHttpHandlerProvider; @@ -8,7 +9,8 @@ public class InputHttpHandlerBridge extends AbstractHttpHandlerProvider { @Override public HttpHandler[] registerHandlers() { return new HttpHandler[]{ - new InputHttpHandler() + new InputHttpHandler(), + new OutputHttpHandler() }; } } diff --git a/src/main/java/com/fr/conf/db/demo/InputUrlAliasBridge.java b/src/main/java/com/fr/conf/db/demo/InputUrlAliasBridge.java index 1a4f165..2809254 100644 --- a/src/main/java/com/fr/conf/db/demo/InputUrlAliasBridge.java +++ b/src/main/java/com/fr/conf/db/demo/InputUrlAliasBridge.java @@ -8,7 +8,8 @@ public class InputUrlAliasBridge extends AbstractURLAliasProvider { @Override public URLAlias[] registerAlias() { return new URLAlias[]{ - URLAliasFactory.createPluginAlias("/db/input", "/db/input", false) + URLAliasFactory.createPluginAlias("/db/input", "/db/input", false), + URLAliasFactory.createPluginAlias("/db/output", "/db/output", false) }; } } diff --git a/src/main/java/com/fr/conf/db/demo/fun/SystemConfigDao.java b/src/main/java/com/fr/conf/db/demo/fun/SystemConfigDao.java index 8385880..e3e2630 100644 --- a/src/main/java/com/fr/conf/db/demo/fun/SystemConfigDao.java +++ b/src/main/java/com/fr/conf/db/demo/fun/SystemConfigDao.java @@ -9,4 +9,9 @@ public class SystemConfigDAO extends BaseDAO { public SystemConfigDAO(DAOSession daoSession) { super(daoSession); } + + @Override + protected Class getEntityClass() { + return SystemConfigEntity.class; + } } diff --git a/src/main/java/com/fr/conf/db/demo/fun/http/OutputHttpHandler.java b/src/main/java/com/fr/conf/db/demo/fun/http/OutputHttpHandler.java new file mode 100644 index 0000000..058436d --- /dev/null +++ b/src/main/java/com/fr/conf/db/demo/fun/http/OutputHttpHandler.java @@ -0,0 +1,54 @@ +package com.fr.conf.db.demo.fun.http; + +import com.fr.conf.db.demo.SystemConfigAccessBridge; +import com.fr.conf.db.demo.fun.SystemConfigDAO; +import com.fr.conf.db.demo.fun.entity.SystemConfigEntity; +import com.fr.data.NetworkHelper; +import com.fr.decision.fun.impl.BaseHttpHandler; +import com.fr.stable.db.action.DBAction; +import com.fr.stable.db.dao.DAOContext; +import com.fr.stable.query.condition.impl.QueryConditionImpl; +import com.fr.stable.query.restriction.RestrictionFactory; +import com.fr.third.springframework.web.bind.annotation.RequestMethod; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; +import java.util.List; + +public class OutputHttpHandler extends BaseHttpHandler { + @Override + public RequestMethod getMethod() { + return RequestMethod.GET; + } + + @Override + public String getPath() { + return "/db/output"; + } + + @Override + public boolean isPublic() { + return false; + } + + @Override + public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { + List entities = SystemConfigAccessBridge.getDbAccessor().runQueryAction(new DBAction>() { + + @Override + public List run(DAOContext daoContext) throws Exception { + // 查询收入大于10000的人 + return daoContext.getDAO(SystemConfigDAO.class).find(new QueryConditionImpl().addRestriction(RestrictionFactory.gte("salary", 10000.0))); + } + }); + PrintWriter writer = NetworkHelper.createPrintWriter(httpServletResponse); + writer.println("The people who's salary is more than 10000:
"); + for (SystemConfigEntity entity : entities) { + writer.println(entity.toString()); + writer.println("
"); + } + writer.flush(); + writer.close(); + } +}