學習隨筆--Spring配置資料來源
阿新 • • 發佈:2021-11-27
資料庫的幾種配置方式
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(); }