如何在Spring应用程序中设置数据源

时间:2015-02-19 08:27:52

标签: mysql spring java-ee

我有Spring-MVCJ2EE的简单应用程序。现在我想配置数据源。我想使用my-SQL而我不想使用hibernate。所以我编写了一个java类(visualizzazioni.java)来连接mysql数据库。所以现在数据库,用户名和密码的名称都是静态的。我想从配置文件中获取此参数。如何在spring中配置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
}

1 个答案:

答案 0 :(得分:1)

要从属性文件中获取值,您需要像这样

ResourceBundle sqlConnectionFileResource = ResourceBundle.getBundle("configFile");
String value=sqlConnectionFileResource.getString("propertyName");

您要从中获取值的文件是configFile.properties,其格式为

propertyName=propertyValue

请记住只在getBundle方法中提供文件名,即仅使用ResourceBundle.getBundle("configFile");

而不是

ResourceBundle.getBundle("configFile.properties");

希望这有帮助!

祝你好运!