精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-14
mubuc 写道 如果有子查询,怎么拼sql?
请看倒数第二张图. |
|
返回顶楼 | |
发表时间:2006-12-14
haiter 写道 简单一点回答你:
1、SQL效率不高,不能很好的利用数据库的SQL缓冲机制, 建议改为insert dd(name) value(?) 2、如果有多表关联查询,通过这种方式拼字符方式,不好 1、SQL效率不高,不能很好的利用数据库的SQL缓冲机制, 建议改为insert dd(name) value(?) 这个是否有笔误啊? 2、如果有多表关联查询,通过这种方式拼字符方式,不好 SQL中用上别名能有所改善. |
|
返回顶楼 | |
发表时间:2006-12-14
finalbone 写道 对于运行时动态条件查询 可以建一个sql映射表 就像数据字典一样
根据需要从sql字典中拼装完整的sql 其实不封装更加灵活 那写的SQL多了点吧. PS:头像的小狗很可爱,有没有其它图片啊? |
|
返回顶楼 | |
发表时间:2006-12-14
你有没有考虑过SQL语句在不同数据库中的兼容性问题?而且SQL注入漏洞的安全性,String拼接的效率,恐怕都没有考虑吧,请参考一下Hibernate中的实现,貌似PoEAA也有一个类似的东西,忘了,自己去看书
|
|
返回顶楼 | |
发表时间:2006-12-14
比起hibernate的封装差太多,自己练手学学数据库倒是不错的做法,还有上面那位基于hibernate做的,hibernate本身有这样一套查询机制,项目中在其上做个扩展不就OK了,自己这样搞了下,限制太多,很多功能都不见了,更别说效率等方面了,至于sql的跨数据库 看看hibernate的hql怎么生成sql应该有所帮助的吧
|
|
返回顶楼 | |
发表时间:2006-12-14
刑天战士 写道 你有没有考虑过SQL语句在不同数据库中的兼容性问题?而且SQL注入漏洞的安全性,String拼接的效率,恐怕都没有考虑吧,请参考一下Hibernate中的实现,貌似PoEAA也有一个类似的东西,忘了,自己去看书
头像能否换换啊?太吓人了,尤其是深夜看到. SQL注入漏洞我已经意思到了,前面的回帖我也说明了.这种方式能有效防范SQL注入攻击,比在对输入做Check要强. 回帖 引用 TO aystnd:
读完了,感觉比我想得细,也比我写得细,很好. 突然意思到一个问题,你的putCondition函数,我的RefreshCondition函数都应该加入对Sql注入攻击的防范和检测,如果发现了类似代码应该立即抛出异常退出后继执行,否则容易给客户造成不可估量的损失,那时候就麻烦大了. 如果加入后,以前对于Statement访问DB的方式的SQL不方便防范 SQL注入攻击的问题就可以写在函数内部,对外封装好以后其它程序员就不需要再考虑这个问题,这也许就是我们的代码最大价值所在,你认为呢? |
|
返回顶楼 | |
发表时间:2006-12-14
jianfeng008cn 写道 比起hibernate的封装差太多,自己练手学学数据库倒是不错的做法,还有上面那位基于hibernate做的,hibernate本身有这样一套查询机制,项目中在其上做个扩展不就OK了,自己这样搞了下,限制太多,很多功能都不见了,更别说效率等方面了,至于sql的跨数据库 看看hibernate的hql怎么生成sql应该有所帮助的吧
Hibernate用的少,以后还是会剖析一下的,谢谢提醒. |
|
返回顶楼 | |
发表时间:2006-12-14
认真看完每个帖子。发现想办法去解决问题非常好。
但肯定没有办法100%完美解决。如果我花费20%的精力解决了80%的问题,已经很知足了。 如果非要强调去100%解决,那是否太过牵强了。 解决问题在于解决大多数常见的问题,剩下不常见的,我自己灵活解决一下,不是更好。 |
|
返回顶楼 | |
发表时间:2006-12-14
有思想的芦苇 写道 finalbone 写道 对于运行时动态条件查询 可以建一个sql映射表 就像数据字典一样
根据需要从sql字典中拼装完整的sql 其实不封装更加灵活 那写的SQL多了点吧. PS:头像的小狗很可爱,有没有其它图片啊? 呵呵 小狗是我养的 blog里还有一张 全面推广这种应用对项目来说提高了风险 对新成员意味着提升学习曲线 在需要特殊处理的地方用一下还不错 但是重新封装的话似乎又觉得投入产出比不合算了 ![]() 如果想继续发展的话 只能更加重量级的封装 考虑多数据库支持以及很多细节问题... 其实建立sql映射字典很方便灵活 实现也简单 而且可以解决sql注入问题 |
|
返回顶楼 | |
发表时间:2006-12-14
finalbone 写道 有思想的芦苇 写道 finalbone 写道 对于运行时动态条件查询 可以建一个sql映射表 就像数据字典一样
根据需要从sql字典中拼装完整的sql 其实不封装更加灵活 那写的SQL多了点吧. PS:头像的小狗很可爱,有没有其它图片啊? 呵呵 小狗是我养的 blog里还有一张 全面推广这种应用对项目来说提高了风险 对新成员意味着提升学习曲线 在需要特殊处理的地方用一下还不错 但是重新封装的话似乎又觉得投入产出比不合算了 ![]() 如果想继续发展的话 只能更加重量级的封装 考虑多数据库支持以及很多细节问题... 其实建立sql映射字典很方便灵活 实现也简单 而且可以解决sql注入问题 ![]() 这张吧,真有意思,什么品种啊?条件合适我也买一只. sql映射字典我想想,有结果我们再探讨. |
|
返回顶楼 | |