博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JFinal-layui v1.2.3 发布,极速开发企业应用系统
阅读量:6988 次
发布时间:2019-06-27

本文共 3549 字,大约阅读时间需要 11 分钟。

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

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

v1.2.3 更新内容:

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

/**	 * 指定数据源,多数据源情况下使用
* 列如oracle数据源别名为oracle,在service重写该方法: *
	 * @Override	 * public String getDb(){	 *	return "oracle";	 * }	 * 
* @return 若return null,则使用主数据源 * @author QinHaiLin * @date 2019年3月13日 */ public String getDb(){ return null; }public List
queryForList(String sql) { if(getDb()!=null){ return Db.use(getDb()).find(sql); } return Db.find(sql); } public List
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
page=Db.use(getDb()).paginate(pageNumber, pageSize, sqlPara); return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow()); } Page
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
page=Db.use(getDb()).paginate(pageNumber, pageSize, sqlPara); return new Grid(page.getList(), pageNumber, pageSize, page.getTotalRow()); } Page
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	 */	@NotAction	public void exportExcel(String fileName, String[] title, String sql, Object... paras) {		fileService.exportExcelxlsx(getResponse(), title, fileName, sql, paras);	}	@NotAction	public 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));

 

转载地址:http://dpzvl.baihongyu.com/

你可能感兴趣的文章
精品素材:推荐15套非常漂亮的 iOS 图标素材
查看>>
使用HttpSessionListener接口监听Session的创建和失效
查看>>
android 国际化
查看>>
10000单词积累,从今天开始(待续)。。。
查看>>
转Spring+Hibernate+EHcache配置(三)
查看>>
使用现有ECC数据库进行安装或者恢复系统
查看>>
发布我的高性能纯C#图像处理基本类,顺便也挑战一下极限。:)
查看>>
在Ubuntu上单机安装Hadoop
查看>>
安装SharePoint2010出现“Could not find stored procedure ‘sp_dboption’.”的解决方法
查看>>
存储过程中执行动态Sql语句
查看>>
SQL Server里简单参数化的痛苦
查看>>
《逻辑与计算机设计基础(原书第5版)》——1.9 习题
查看>>
停止去人性化吧 SOC应找回人的元素
查看>>
数据中心托管节约企业成本
查看>>
Spark大数据处理系列之Machine Learning
查看>>
被 281 亿个传感器包围时,我们如何重新定义生活?
查看>>
openSUSE 11.2 安装飞鸽传书 g2ipmsg
查看>>
用大数据做产业组织 用“互联网+”做产业服务
查看>>
针对小型企业的CRM系统HeyMarket 可以防止员工在醉酒后向客户发送“骚扰短信
查看>>
5G和WIFI谁能够将用户价值最大化?
查看>>