我有一个使用Spring-MVC
和J2EE
的简单应用程序。现在,我要配置数据源。我想使用my-SQL
,而我不想使用休眠。所以我写了一个Java类(visualizzazioni.java
)来连接mysql数据库。因此,数据库的名称,用户名和密码现在是静态的。我想从配置文件中获取此参数。我如何在春季配置mysql?
这是我的visualizzazioni.java
:
package com.springmvcapp.manager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import javax.swing.JPanel;
import com.springmvcapp.utility.Propr;
public class Visualizzazioni extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L;
private String nomeDB; // Nome del Database a cui connettersi
private String nomeUtente; // Nome utentStringe utilizzato per la connessione al Database
private String pwdUtente; // Password usata per la connessione al Database
private String errore; // Raccoglie informazioni riguardo l'ultima eccezione sollevata
private String host;
public static Connection db; // La connessione col Database
private boolean connesso; // Flag che indica se la connessione è attiva o meno
public Properties properties=null;
public Visualizzazioni() {
this.nomeDB= "spring_mvc";
this.pwdUtente="password";
this.nomeUtente="root";
this.host= "localhost";
connesso = false;
errore = "";
}
// Apre la connessione con il Database
public boolean connetti() throws InstantiationException, IllegalAccessException{
connesso = false;
//log = new MyLog4J();
try {
// Carico il driver JDBC per la connessione con il database MySQL
Class.forName("com.mysql.jdbc.Driver");
// Controllo che il nome del Database non sia nulla
if (!nomeDB.equals("")) {
//192.168.1.157
this.pwdUtente="password";//properties.getProperty("root");
this.nomeUtente="root";//properties.getProperty("user");
//InitialContext ctx = new InitialContext();
//DataSource ds = (DataSource) ctx.lookup("java:mysql/jdbc/spring_mvc");
db = DriverManager.getConnection("jdbc:mysql://"+ host +"/" + nomeDB + "?user=" + nomeUtente + "&password=" + pwdUtente);
connesso = true;
} else {
System.exit(0);
}
} catch (Exception e) {
//log.logStackTrace(e);
}
return connesso;
}
public static Connection getDb() {
return db;
}
public static void setDb(Connection db) {
Visualizzazioni.db = db;
}
public boolean isConnesso() { return connesso; } // Ritorna TRUE se la connessione con il Database è attiva
public String getErrore() { return errore; } // Ritorna il messaggio d'errore dell'ultima eccezione sollevata
}
最佳答案
要从属性文件获取值,您需要这样做
ResourceBundle sqlConnectionFileResource = ResourceBundle.getBundle("configFile");
String value=sqlConnectionFileResource.getString("propertyName");
您要从中获取值的文件是
configFile.properties
,其中的条目具有以下格式propertyName=propertyValue
请记住在getBundle方法中仅提供文件名,即仅使用
ResourceBundle.getBundle("configFile");
代替
ResourceBundle.getBundle("configFile.properties");
希望这可以帮助!
祝好运!