百度智能云 云生态狂欢季 热门云产品1折起>>>  

JFinal+layui 极速开发企业应用管理系统,是以 JFinal+layui 为核心的企业应用项目架构,利用 JFinal 的特性与 layui 完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会 layui,也能轻松掌握使用。

此次更新最主要是为了解决开发者对不同数据库的需要问题,所以优化了BaseService底层方法,能够适应不同的数据库问题,以及用户管理因为group by 的语法不兼容问题,都通过此次优化彻底解决了,开发者可以很顺利的根据自己的数据库配置轻松的运行本系统,不需要修改SQL,非常方便。

v1.2.3 更新内容:
1、BaseService新增getDb()方法,满足多数据源情况下,做到共享BaseService,同时,分页使用jfinal底层的分页方法,所以可以兼容多数据库使用问题:

/*** 指定数据源,多数据源情况下使用<br/>* 列如oracle数据源别名为oracle,在service重写该方法:* <pre>* @Override* public String getDb(){*  return "oracle";* }* </pre>* @return 若return null,则使用主数据源* @author QinHaiLin* @date 2019年3月13日*/public String getDb(){return null;}public List<Record> queryForList(String sql) {if(getDb()!=null){return Db.use(getDb()).find(sql);}return Db.find(sql);}public List<Record> queryForList(String sql,Object...object) {if(getDb()!=null){return Db.use(getDb()).find(sql,object);}return Db.find(sql,object);}private Grid getGrid(int pageNumber,int pageSize,String sql,Object... paras){SqlPara sqlPara=new SqlPara().setSql(sql);for(int i=0;i<paras.length;i++){sqlPara.addPara(paras[i]);}if(getDb()!=null){Page<Record> page=Db.use(getDb()).paginate(pageNumber, pageSize, sqlPara);return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow());}Page<Record> page=Db.paginate(pageNumber, pageSize, sqlPara);return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow());}private Grid getGrid(int pageNumber,int pageSize,String sql){SqlPara sqlPara=new SqlPara().setSql(sql);if(getDb()!=null){Page<Record> page=Db.use(getDb()).paginate(pageNumber, pageSize, sqlPara);return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow());}Page<Record> page=Db.paginate(pageNumber, pageSize, sqlPara);return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow());}

2、用户默认分配组织机构部门关系,避免部门ID为空的用户关联查询数据重复,这样就可以去掉了用户管理部门关联查询时group by不兼容问题。

INSERT INTO sys_org VALUES ('sys', 'sys', '', '', '组织机构', '系统管理员', NULL, NULL, NULL, NULL, NULL, 1);
public Grid page(int pageNumber, int pageSize, Record record) {Record rd = new Record();rd.set("a.user_code like", record.getStr("userCode"));rd.set("a.user_name like", record.getStr("userName"));rd.set("a.sex=", record.getStr("sex"));String sql=Db.getSql("core.getUserList");String orgId=record.getStr("orgId");//部门用户列表String type=record.getStr("type");if("org".equals(type)){StringBuffer sbf=new StringBuffer();sbf.append("'").append(orgId).append("'");        String orgIds=orgService.getIdsByOrgId(orgId,sbf);sql=Db.getSql("core.getOrgUserList").replace("?", orgIds);//return queryForList(sql,pageNumber, pageSize, rd, "group by a.id");return queryForList(sql,pageNumber, pageSize, rd, null);           }//用户管理列表rd.set("a.org_id=", orgId);//return queryForList(sql,pageNumber, pageSize, rd, "group by a.id");return queryForList(sql,pageNumber, pageSize, rd, null);}

3、BaseController导出方法优化,调整个别参数,避免重载方法误用问题。

/*** 文件名放前面,避免误用* @param fileName* @param title* @param sql* @param paras*/@NotActionpublic void exportExcel(String fileName, String[] title, String sql, Object... paras) {fileService.exportExcelxlsx(getResponse(), title, fileName, sql, paras);}@NotActionpublic void exportExcel(String[] title, String sql, Object... paras) {fileService.exportExcelxlsx(getResponse(), title, null, sql, paras);}

4、数据库字段名统一配置小写,避免在oracle数据库下前端修改字段名。

// 配置属性名(字段名)大小写,true:小写,false:大写,统一小写,切换oracle数据库的时候可以不用改页面字段arp.setContainerFactory(new CaseInsensitiveContainerFactory(true));

JFinal-layui v1.2.3 发布,极速开发企业应用系统相关推荐

  1. XCMS V1.0 Beta1 发布

    XCMS V1.0 Beta1 发布 说明: XCMS是一个内容管理系统,是新生命开发团队利用业余时间开发的第一个成功项目! XCMS目前只有基本的文章发布.栏目管理.评论.用户管理和模板管理等功能. ...

  2. OneGame V1.0.2 发布,让运营游戏不再是梦想

    OneGame V1.0.2 发布,让运营游戏不再是梦想,更新内容如下: 1.H5手游渠道进入游戏流程优化. 2.新增手游统计:游戏注册记录,每日汇总记录,游戏汇总,公会汇总,员工统计 与 APP下载 ...

  3. 云原生生态周报 Vol.9| K8s v1.15 版本发布

    本周作者 | 衷源.心贵 业界要闻 1.Kubernetes Release v1.15 版本发布,新版本的两个主题是持续性改进和可扩展性.(https://github.com/kubernetes ...

  4. Yearning v1.4.2 发布,SQL审核平台

    Yearning SQL审核平台 v1.4.2发布了. Yearning 是基于inception的web端SQL审核平台,可为dba提供流程化规范化的SQL提交流程.具有审核,审计,查询,多权限划分 ...

  5. 30号晚直播丨数据操作加速器,CloudQuery v1.3.5 发布!

    数据操作加速器,CloudQuery v1.3.5 发布!-03.30 CloudQuery 2021年第一场直播强势来袭!3月30日,CloudQuery将发布 v1.3.5,我们将在直播中为大家逐 ...

  6. delphi 企业微信消息机器人_消息通知支持企业微信、钉钉机器人,MeterSphere v1.4.0发布...

    2020年10月27日15:00,MeterSphere v1.4版本发布说明会,现已开启官网报名. 10月27日,MeterSphere开源持续测试平台正式发布v1.4.0版本.在该版本中,Mete ...

  7. PrettyZoo V1.8.0 发布了, 一款值的收藏的 Zookeeper 图形化工具

    PrettyZoo 是我在 19 年闲暇时创作的一款 Zookeeper 桌面图形化工具,不仅颜值极高,而且功能齐全,支持 Windows / Mac / Linux 等主流平台. 新版本直接将整个底 ...

  8. 云原生周报 | 百度开源千万级CPS压测软件 dperf;BFE Server v1.5.0 发布

    业界要闻 1. 百度千万级 CPS 的压测软件 dperf 开源了 摘要:百度的智能负载均衡团队开源了一款高性能的网络压力测试软件 dperf.dperf 项目地址https://github.com ...

  9. justauth-spring-boot-starter V1.3.5 发布成功

    justauth-spring-boot-starter V1.3.5 发布成功 关于 justauth-spring-boot-starter justauth-spring-boot-starte ...

最新文章

  1. oracle最小精度,【整理+原创】Oracle的计算精度与误差
  2. 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
  3. linux安装jdk、tomcat
  4. python linux服务_Python脚本作为Linux服务/守护程序
  5. python文件无法关闭_Python脚本无法正常终止
  6. 使用iOS手势UIGestureRecognizer
  7. 华为云classroom应用_华为任正非:将来所有应用都会长在云土地上,但现在还不是...
  8. 两招让陌生网络访问者现出原形
  9. 学成在线--18.新增课程(课程分类查询)
  10. local tomcat 找不到springmvc里的包_唰唰的手撕一个简单的Spring Mvc 框架
  11. OpenShift 4 - 使用 emptyDir/hostPath/local 类型 PV
  12. Multisium里如何使用多个不同的VCC
  13. python自动填表单_用python-webdriver实现自动填表
  14. Python爬虫下载喜马拉雅音频文件
  15. CSDN、博文视点名家讲坛之夏昕、林信良谈Spring框架
  16. 10.计算机基础之程序设计基础
  17. (转载)消息队列详解
  18. numpy.arctan, math.atan, math.atan2的区别
  19. 搞懂redux一篇就够了
  20. 一文彻底弄清4G/蓝牙/WiFi/TCP/IP之间的关系

热门文章

  1. 裁剪Linux小系统
  2. Linux大文件处理,伪分区
  3. 原来女孩要的不是真爱,而是关爱...
  4. WEB站点使用企业库安全性异常解决办法
  5. SpringBoot启动类的扫描注解的用法及冲突原则
  6. python取列表中最接近某值的元素及索引
  7. org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
  8. javascript基础学习(六)
  9. 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
  10. 《JAVA练习题目9》 创建一个Person类和一个Family类。(这次的OJ实在写的没有状态,被样例搞崩了,这次代码还有好多代码复制等一系列不良现象,就是为了过OJ写的。。大家凑活看一下吧)