Jsf 2 如何在JSF2中存储数据库信息
在托管bean中,我需要访问mySql数据库。 到目前为止,我使用的代码如下:Jsf 2 如何在JSF2中存储数据库信息,jsf-2,jdbc,Jsf 2,Jdbc,在托管bean中,我需要访问mySql数据库。 到目前为止,我使用的代码如下: Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String username = "user"; String password = "1234"; Connection connection = null; try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String username = "user";
String password = "1234";
Connection connection = null;
try {
connection = DriverManager.getConnection(url, username, password);
现在我必须在多个bean中执行此操作,因此如果需要更改数据库凭据,我必须在大约10个文件中进行修改
有吗
提前感谢通常最好将此类值存储在.properties文件中。然后可以通过java.util.Properties()访问它们 下面是一个很好的教程,介绍了如何访问这些文件及其值,我建议您从以下内容开始: (更多信息:) 在我的IDE中,我通常创建一个新的源代码包/src/main/config,并将所有与.properties和.xml文件有关的配置放在其中。如果您这样做,您需要从jsf应用程序中像这样访问它:
String configFilePath = "configuration.properties";
props = new Properties();
InputStream propInStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFilePath);
props.load(propInStream);
或者您可以简单地执行以下操作:
首先,您应该了解Java EE项目的基本体系结构。在托管bean中连接数据库不是一个好主意。这真是糟糕的做法。请看一下我的基本架构 数据库连接在集成层中完成,这些类称为数据访问对象(DAO) 为静态连接属性创建BaseDao类
class BaseDao
{
private String url = "jdbc:mysql://localhost:3306/test";
private String username = "user";
private String password = "1234";
private Connection connection;
protected Connection getConnection()
{
connection = DriverManager.getConnection(url, username, password);
return connection;
}
}
并将基类扩展到需要数据库连接的派生类,并使用BaseDao#getConnection()
访问连接
此外,最好将数据库连接保存在属性文件中,并将它们注入适当的类中
相关教程
阅读BalusC教程以更好地理解这只是为了学习/爱好吗?否则最好找JPA。