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

还是前台js只传需要的参数,然后在后台拼sql语句好。2.前台直接传拼好的条件,会不会比只传参数占用更多的资源而影响效率。3.在B类中拼好条件,实例化A类,然后调用A类的... 还是前台js只传需要的参数,然后在后台拼sql语句好。2.前台直接传拼好的条件,会不会比只传参数占用更多的资源而影响效率。3.在B类中拼好条件,实例化A类,然后调用A类的方法传拼好条件,这种传输跟直接B类调用A类传个参数,然后A类拼语句,哪个好。4.java有三层架构,一般在哪层拼sql后面的查询条件,为什么?求高手指点。 展开
 我来答
小狂中E
推荐于2016-10-12 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1033万
展开全部
1、2、当然是后台好,至少不会暴露数据库的结构,由于只是拼串,效率上影响不大
3、这2种没啥区别,需要时再代码重构也无不可
4、MVC(模型-视图-控制)结构中的M层,即业务逻辑层或叫模型层,拼sql基本上都是业务逻辑相关
追问
js向后台传递一个参数,和传递一个很长的字符串效率上一样吗?后台一个类的方法调用另一个类传递参数的长短对效率有没有影响啊?
追答
一个sql能有多长?几百字节基本不影响效率
同一进程内方法调用传的是对象的地址,又不是把对象的内容复制一遍,不影响效率
仁惟威
2013-12-07 · TA获得超过189个赞
知道答主
回答量:135
采纳率:100%
帮助的人:107万
展开全部
拼sql语句一般是在后台持久层来做的,关于程序的设计是仁者见仁智者见智,没有一个放之四海而皆准的真理,这要看具体的情况,视情况而定。但是前人通过研究而总结的解决问题的一些方式、方法、原则还是值得我们去学习,比如 java web 开发中的 MVC,表现层、业务逻辑组件层、持久层的分层,推荐书籍 编程思想、设计模式值得研究。
在持久层拼sql语句,因为这是持久层的职责
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jyushion
2013-12-06 · 超过10用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:23.8万
展开全部
举个简单的列吧:
(1)如果用PreparedStatment的话,
select * from tb_table where id=?
把参数传给?就行,肯定得把数据参数准备好才传吧。
(2)如果用框架也可以参考上面的方式,有些要注入bean再把bean作为参数。

这样sql语句还用可以拼接吗,只是在等待某个参数而已。
追问
但是要做的东西,where后面的条件不只是id=?呢,根据条件有时候是id=?and name=?呢,这时就不得不拼where条件了啊?存储过程什么的不都费了吗?
追答
可以多参数传递的啊,
select * from tb_table where name=? and age=? ......
有几个问号就传几个参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沉迷黑暗95
2013-12-07 · 超过21用户采纳过TA的回答
知道答主
回答量:82
采纳率:100%
帮助的人:45.7万
展开全部
sql语句在前台 和后台 最大的区别 就是 如果将sql写在页面的话 有些刻意的人员 可以通过注入 查询到你数据库的信息! 导致数据的 不安全 前台只需要传递参数就刻意了。 这个占用部占用资源 我不知道。至少一点 不安全 就可以排除页面写sql 像PHP 是在页面写的。那是因为 对于开发小型项目速度快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
biocommando
2013-12-06 · TA获得超过4867个赞
知道大有可为答主
回答量:2395
采纳率:0%
帮助的人:1382万
展开全部
最商业化的方法肯定是把数据库语言封装在存储过程里,然后在逻辑层调用,如果先麻烦也是吧sql语句在逻辑层拼装后使用比较有效率。基本没有在页面层就调用sql的,没效率也不安全
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式