永发信息网

java大婶们,问个问题:1.web开发中sql语句的where条件,是在前台js中拼好传到后台好

答案:6  悬赏:40  手机版
解决时间 2021-03-07 14:13
还是前台js只传需要的参数,然后在后台拼sql语句好。2.前台直接传拼好的条件,会不会比只传参数占用更多的资源而影响效率。3.在B类中拼好条件,实例化A类,然后调用A类的方法传拼好条件,这种传输跟直接B类调用A类传个参数,然后A类拼语句,哪个好。4.java有三层架构,一般在哪层拼sql后面的查询条件,为什么?求高手指点。
最佳答案
1、2、当然是后台好,至少不会暴露数据库的结构,由于只是拼串,效率上影响不大
3、这2种没啥区别,需要时再代码重构也无不可
4、MVC(模型-视图-控制)结构中的M层,即业务逻辑层或叫模型层,拼sql基本上都是业务逻辑相关
全部回答
一般是用存储过程,因为存储过程在服务器已经编译生成好了,效率很高 而在需要调用的地方传递参数即可
一般是写接口,接口里面写对数据库表操作的增删改查的抽象方法,然后写具体类实现接口里的抽象方法,sql语句是在具体的方法里面写的。然后在servlet 里面调用这些方法,
最商业化的方法肯定是把数据库语言封装在存储过程里,然后在逻辑层调用,如果先麻烦也是吧sql语句在逻辑层拼装后使用比较有效率。基本没有在页面层就调用sql的,没效率也不安全
拼sql语句一般是在后台持久层来做的,关于程序的设计是仁者见仁智者见智,没有一个放之四海而皆准的真理,这要看具体的情况,视情况而定。但是前人通过研究而总结的解决问题的一些方式、方法、原则还是值得我们去学习,比如 java web 开发中的 MVC,表现层、业务逻辑组件层、持久层的分层,推荐书籍 编程思想、设计模式值得研究。 在持久层拼sql语句,因为这是持久层的职责
举个简单的列吧: (1)如果用PreparedStatment的话, select * from tb_table where id=? 把参数传给?就行,肯定得把数据参数准备好才传吧。 (2)如果用框架也可以参考上面的方式,有些要注入bean再把bean作为参数。 这样sql语句还用可以拼接吗,只是在等待某个参数而已。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
圣大集团在什么地方啊,我要过去处理事情
已经会使用天然火并保存火种的古人类是CA. 元
在南宁跟团去越南有没有强迫购物
监控器里的视屏文件格式为 DRV ,我用什么软
违反了会计职业道德,也就违反了会计法律制度
在SDH复用映射过程中,VC-4信号邂逅与系统的复
坚果手机,能不能当u盘用
西安市长安区恒利新型建材厂(北门)我想知道这
联通卡丢了怎么挂失
蓬莱花园小区地址有知道的么?有点事想过去
金水湾浴场在什么地方啊,我要过去处理事情
长腿叔叔的内容介绍
身份证怎么打印出来
thinkpadT450s不能正常关机(原装win10系统)为
玉裂了最忌讳怎么处理
推荐资讯
送好友一个月的qq会员是扣钱还是qb
这是矶山A梦吗!?
我想到香港做废青,这种工作好做吗? 5分
圭可以加什么偏旁
洛阳奇卉开一双
康记小吃店在哪里啊,我有事要去这个地方
家住在公路旁边,怎样才能解决烦人车辆噪音问
阿芹名妆我想知道这个在什么地方
范伟有一部片子在里面叫“王抗美”这部片子叫
侨乡人家在什么地方啊,我要过去处理事情
陌生人在微信上借钱该怎么证明不是骗子
炒后缓和寒泄之性的药材是A.白芥子B.决明子C.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?