之前我从未连接过java中的数据库。我是否应该知道是否应该使用servlet访问derby数据库?
我查了一下:How do I access a database from my servlet or JSP? 但我看到文章上的评论说这是一种糟糕的连接方式。任何人都可以解释或告诉我最好的方法,我应该编码访问我的德比数据库吗?
非常感谢。
答案 0 :(得分:6)
那么,该怎么办?获取JDBC教程。 official one是一个很好的选择。这将为您提供从Java连接到数据库的好主意,并掌握JDBC API。之后,您应该阅读DAO pattern以及我们employ that in real apps的方式。
此外,我认为你也应该阅读MVC pattern,因为在我看来你也不是很清楚。
一旦你理解了所有这些,并提出了一个类似玩具的玩具,使用所有这些东西。下一步是查看Connection Pooling机制。
答案 1 :(得分:3)
由于您使用的是servelt,因此必须使用容器行Apache Tomcat。您应该查找像http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html这样的连接池。如果您正在使用任何其他容器,那么它也将具有类似的设置。
其他选项是创建一个单独的DBManager类,用于初始化和返回连接。您可以在servlet中使用此类。
答案 2 :(得分:2)
使用JDBC并拥有应用服务器的应用程序池是一个良好的开端。你也可以使用一些API让你的生活像Hibernate一样简单。
答案 3 :(得分:2)
这是一种“糟糕的方式”,因为它没有使用(JNDI管理的)连接池来获取连接。虽然获取连接的成本“仅”几百毫秒,但这对繁忙的多用户环境有影响。连接池将担心打开和关闭连接并在每次getConnection()
调用时立即释放它们,因此它实际上花费的成本几乎为零毫秒。如果在繁忙的多用户环境中对此进行求和,则差异很明显。
连接池通常配置为JNDI数据源的风格,该数据源由相关的servletcontainer管理。由于你没有提到你正在使用哪一个,我可以在最高点看到我的一个答案,其中包含一个Tomcat 6.0目标示例:here。
希望这有帮助。