起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10109|回复: 13

[分享] 分享:用新BAAS实现通用的表的增删查改

  [复制链接]

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
发表于 2016-6-10 14:05:15 | 显示全部楼层 |阅读模式
本帖最后由 ysk007 于 2016-6-10 14:13 编辑

在老baas里已经实现通用表的增删查改,官方发布了新baas后一直想重写一次,迁移到新baas中,好处是可以跟着官方的BAAS更新,比如官方做了优化,那么老baas估计就没份了。另外新BAAS对servlet做了封装,那么注册一个后台的action基本上就不用考虑配置问题了。写java后台代码也比老baas好,直接在studio里写,不用切换到java视图了。
实现的功能:可以在前台动态的指定数据库和表,不再需要为每一个data写一个action。
附件说明:1,baas目录下新建一个文件夹,取名为mp3,把mp3目录下的文件拷过去。数据库配置就不讲了,是官方的标准做法。这个也是新BAAS的好处,可以可视化配置数据库了。
2,前端的文件需要建两个表,字段不多,参考w文件中的data组件到数据库中定义。里面有单表查询,子表查询和主从保存的例子。
3,前端支持datatable组件上点击列自动排序的功能。
4,如果希望再配置一个同样数据结构指向另外一个数据库的通用表后台服务的话,只要将mp3目录复制一份,放在baas下就可以了,然后修改MpCRUD里面的数据库配置名就可以了。这样的话假如要用同一个前端程序动态控制去哪个数据库,只要在js中动态指定那个_acctUnit就可以了。
5,这里面的java文件是在下面这个帖子的基础上改的,所以看起来文件比较多,我改的文件其实主要是其中CRUD.java文件。
http://bbs.wex5.com/forum.php?mo ... 5857&extra=page%3D2,感谢原贴作者的分享。6,前端代码中还涉及到了一个summerNote的使用,参考的贴子是这个
http://bbs.wex5.com/forum.php?mo ... 5887&extra=page%3D1
很好用,推荐大家使用。




通用型BAAS使用方法.zip

11.33 KB, 下载次数: 240

评分

参与人数 1威望 +10 收起 理由
负暄 + 10 很给力!超级给力!!!

查看全部评分

轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595

62

主题

363

帖子

1184

积分

金牌会员

Rank: 6Rank: 6

积分
1184
QQ
发表于 2016-6-10 16:56:13 | 显示全部楼层
赞一个,谢谢分享
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-6-10 18:46:05 | 显示全部楼层
这个好,  感谢大神的分享,这几天学到很多了
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

2

主题

441

帖子

2572

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2572
发表于 2016-6-10 19:00:28 | 显示全部楼层
回复

使用道具 举报

56

主题

370

帖子

963

积分

高级会员

Rank: 4

积分
963
QQ
发表于 2016-6-29 10:08:01 | 显示全部楼层
本帖最后由 负暄 于 2016-6-29 10:17 编辑

大神啊,太管用了。膜拜!
回复 支持 反对

使用道具 举报

56

主题

370

帖子

963

积分

高级会员

Rank: 4

积分
963
QQ
发表于 2016-6-29 10:57:24 | 显示全部楼层
大神,非常感谢您的分享。想提一个问题,万望指点:
在MpCURD.java中,private static final String DATASOURCE = "mp3";
这个参数为什么不从前台传来?从前台传参切换数据库会存在什么问题或者风险吗?
谢谢!
回复 支持 反对

使用道具 举报

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
 楼主| 发表于 2016-6-29 11:25:23 | 显示全部楼层
负暄 发表于 2016-6-29 10:57
大神,非常感谢您的分享。想提一个问题,万望指点:
在MpCURD.java中,private static final String DATASO ...

原理不太懂,听人这么说,所以就信了。内部变量还是会安全些吧。表名不能直接传我倒是知道的,如果允许直接传个表名,其实是很难防止别人恶意输入(select * from t_item) a 这种表名的。
轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595
回复 支持 反对

使用道具 举报

56

主题

370

帖子

963

积分

高级会员

Rank: 4

积分
963
QQ
发表于 2016-6-29 12:12:41 | 显示全部楼层
ysk007 发表于 2016-6-29 11:25
原理不太懂,听人这么说,所以就信了。内部变量还是会安全些吧。表名不能直接传我倒是知道的,如果允许直 ...

我已经参考您的思路,改造了自己的baas,实现了数据库的动态切换。
你说的安全问题,我采取的策略是,前端只传整形代码,后端根据代码转换数据源名,表名。防止注入。再致谢意!
回复 支持 反对

使用道具 举报

3

主题

11

帖子

39

积分

新手上路

Rank: 1

积分
39
QQ
发表于 2016-7-4 21:23:04 | 显示全部楼层
请问你写的这个增删查改 和 视频教程里面的 原理都差不多,优势在哪里呢?
回复 支持 反对

使用道具 举报

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
 楼主| 发表于 2016-7-5 07:18:32 | 显示全部楼层
waterxmas 发表于 2016-7-4 21:23
请问你写的这个增删查改 和 视频教程里面的 原理都差不多,优势在哪里呢? ...

官方的表名是不允许从前端js中传过来的,所以每个表都要建一个action。我写这个不需要为每个表单独建action了
轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-15 21:08 , Processed in 0.067975 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表