是否可以写数据库方法属性文件中,像一些数据库查询,并且可以使用servlet这可能会降低代码访问?servlet和资源文件
回答
- 的web应用可以访问属性文件。
- 一个化子性质的文件可能有这样QUERY1 =选择一些键值对从某处
您可以依次在Web应用程序执行sql查询组合1和2,但我不知道它会降低代码(你还是要打开数据库连接,读取RS,关闭连接等)
谢谢大家......是否有可能在属性文件中写入方法? – srikanth 2010-04-15 07:40:05
当然,你可以把你的查询在一个属性文件,但如果你正在使用JDBC,代码经常要看这些查询。参数的数量和顺序不能改变,结果也一样,所以我没有看到很多优点。
可以存储在web应用程序可以访问的文件查询,然后用准备好的语句来执行它们。通过这样做,您的查询字符串在外部文件中,您在代码中执行的所有操作都将填充参数,但您必须首先从所谓的“属性文件”中读取查询字符串。
例子:
String query; // read the query from the "properties file"
//Suppose you put "INSERT INTO BOOKS (AUTHOR, TITLE) VALUES (?, ?);"
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, "param1");
ps.setString(2, "param2");
ps.executeUpdate();
我见过DB完成工作的各种硬编码SQL的方式直接进入每一个访问数据库的方法,到SQL存储在中央文件中的静态字符串,它是存储在属性文件中,最后当然还有ORM,比如hibernate。我甚至看到SQL存储在数据库中!
我决不会建议储存远离需要它们的代码的SQL(或ORM查询)。简单的原因是,我的经验是,通过断开连接,开发人员开始重用和错误使用查询。随着时间的推移,开发人员将跟踪哪些查询在哪里使用,并开始添加新的查询以避免破坏事件的风险。最终他们最终得到的是充满查询的文件,而不知道哪些文件甚至被使用。我见过的最糟糕的情况是开发人员将SQL集中起来,并将其制作成单独的部分。几乎不可能分辨出改变是否会破坏事情。
用于分隔查询的初始参数通常是“维护”或“以防我们更改数据库”等。但是在一天结束时,它将成为比想要解决的更大的问题。
总之,我建议你保存尽可能靠近使用它们尽可能的代码查询。 Hibernate和类似的方法使得这个实用的解决方案变得很长。
- 1. Servlet 3.0和资源
- 2. 从servlet读取资源文件
- 3. Android和ObjectOutputStream资源文件
- 4. jetty - 创建主要和资源servlet
- 5. 使用Netbeans的JDBC资源和servlet
- 6. 使Servlet成为READONLY文本/ html资源
- 7. 跨源资源共享和文件://
- 8. maven:添加任意文件作为servlet上下文资源
- 9. 资源文件
- 10. 资源文件
- 11. JavaWebStart和资源,如图像和文件
- 12. 从资源文件链接到资源
- 13. 不能访问文件资源,在servlet 7.1.2
- 14. ASP.Net资源文件
- 15. 资源xml文件
- 16. 从资源文件
- 17. Java资源文件
- 18. 资源文件C#
- 19. 资源文件2008
- 20. Spring.NET资源文件
- 21. 如何gradle这个和其他资源文件夹添加资源文件夹
- 22. 在ASP.NET中大型资源文件vs分隔资源文件?
- 23. Javascript资源文件(.js)vs资源文件(.resx)
- 24. .Net MVC3资源文件和多租户
- 25. FileWriter和jar文件 - 找不到资源
- 26. 从资源加载.dic和.aff文件?
- 27. Rails插件开发文档和资源
- 28. Android风味和资源文件
- 29. Xcode的建设和资源文件夹
- 30. 类路径和资源文件
您可能将不得不提供比此更多的上下文。然而,一般来说,让数据库访问---尽可能多的业务逻辑---在服务器端是一个不错的主意,尤其是你越不信任用户。至于“属性文件”,我不知道你在说什么。 – Steve 2010-04-15 07:33:57
@Steve:http://java.sun.com/docs/books/tutorial/essential/environment/properties.html这就像Java的'.ini'文件。 – BalusC 2010-04-15 11:30:35
@srikanth:你的问题很模糊。 “数据库方法”是什么?你不是指SQL语句吗?或者你的意思是真正的Java代码?你为什么想这么做? – BalusC 2010-04-15 11:32:04