Java如何为JdbcTemplate创建数据源对象?

在此示例中,您将学习如何创建和配置DriverManagerDataSource将由该JdbcTemplate对象使用的对象。有创建时所需要的一些信息DataSource,包括JDBC驱动程序类,目标数据库的JDBC的URL时,username并password连接到数据库服务器。

package org.nhooo.example.spring.jdbc;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

import javax.sql.DataSource;
import java.util.List;

public class DataSourceDemo {
    public static final String DRIVER = "com.mysql.jdbc.Driver";
    public static final String JDBC_URL = "jdbc:mysql://localhost/mediadb";
    public static final String USERNAME = "root";
    public static final String PASSWORD = "";

    public static void main(String[] args) {
        // 创建DriverManagerDataSource的实例并传递
        // 它到JdbcTemplate。
        DataSource source = getDataSource();
        JdbcTemplate template = new JdbcTemplate(source);

        // 使用数据源注入创建模板后,我们
        // 可以执行数据库操作,例如CRUD操作。
        System.out.println("DataSource = " + template.getDataSource());
        List records = template.queryForList("SELECT * FROM records");
        for (int i = 0; i < records.size(); i++) {
            System.out.println("Records = " + records.get(i));
        }
    }

    /**
     * Returns a DataSource object for connection to the database.
     *
     * @return a DataSource.
     */
    private static DataSource getDataSource() {
        // 创建DriverManagerDataSource的新实例并进行设置
        // 必需的参数,例如Jdbc Driver类,
        // Jdbc URL,数据库用户名和密码。
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(DataSourceDemo.DRIVER);
        dataSource.setUrl(DataSourceDemo.JDBC_URL);
        dataSource.setUsername(DataSourceDemo.USERNAME);
        dataSource.setPassword(DataSourceDemo.PASSWORD);
        return dataSource;
    }
}