1. 程式人生 > 其它 >學習隨筆--Spring配置資料來源

學習隨筆--Spring配置資料來源

資料庫的幾種配置方式

1.手動建立c3p0資料來源

 public void test1() throws Exception {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/ssm_db");
        dataSource.setUser("root");
        dataSource.setPassword("123456");
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();
    }

2.手動建立druid資料來源

public void test2() throws Exception {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/ssm_db");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();
    }

3.手動建立c3p0資料來源 (載入配置properties配置檔案)

直接建立資料來源在原始碼中,耦合度非常高,不利於靈活改變。

有一種方法是可以從配置的properties檔案中提取。

3.1建立一個jdbc.properties檔案

3.2填寫相關的配置資訊

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssm_db
jdbc.username = root
jdbc.password = 123456

3.3使用配置資訊

public void test3() throws Exception {
        //讀取配置檔案,這裡的getBundle,填寫resources目錄下的properties檔案的名字
        ResourceBundle rb = ResourceBundle.getBundle("jdbc");
        String driver = rb.getString("jdbc.driver");
        String url = rb.getString("jdbc.url");
        String username = rb.getString("jdbc.username");
        String password = rb.getString("jdbc.password");
        //建立資料來源物件 設定連線引數
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass(driver);
        dataSource.setJdbcUrl(url);
        dataSource.setUser(username);
        dataSource.setPassword(password);
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();

    }

4.Spring產生資料來源物件

原理:由於資料來源是一個類,spring的bean標籤可以填充類。

另外資料來源類有相應的set方法,這樣又可以設定資料來源的屬性,把它交給spring十分的方便。

4.1怎樣在xml檔案中使用properties檔案中的屬性

首先新增名稱空間

 xmlns:context="http://www.springframework.org/schema/context"

其次在schemaLocation中新增命名例項

http://www.springframework.org/schema/context/spring-context.xsd

最後在<context>標籤中寫:

<context:property-placeholder location="classpath:jdbc.properties" />

4.2 配置過程

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="DriverClass" value="${jdbc.driver}"></property>
        <property name="JdbcUrl" value="${jdbc.url}"></property>
        <property name="User" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

這裡的注意點是:用el表示式來傳參,格式為${XXXX}。

4.3 使用過程

public void test4() throws Exception {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        ComboPooledDataSource dataSource = (ComboPooledDataSource) app.getBean("dataSource");
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();
    }