Java Spring JDBC访问数据库

一、首先采用org.springframework.jdbc.datasource.DriverManagerDataSource类进行实现

1.applicationContext.xml配置如下:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="username" value="root"/>
    <property name="password" value="zdsoft"/>
    <property name="url" value="jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
</bean>

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"/>
</bean>

2.Java的代码如下:

public static void main(String[] args) {
    AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    JdbcTemplate jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate");

    String sql = "select * from stat_app";
    jdbcTemplate.query(sql, new RowCallbackHandler() {
        @Override
        public void processRow(ResultSet rset) throws SQLException {
            System.out.println(rset.getString("source_market") + "	" + rset.getString("violations_type"));

        }
    });
}

说明:

①mysql的url配置中需要注意编码和时区,不然会出现报错。同时&符号必须使用&amp;转义。如果独立成properties就不需要了转义了。

②查询的数据进入processRow里面,每行数据都会调用一次这个方法。

二、使用org.apache.commons.dbcp.BasicDataSource类进行实现

 1.首先需要引用jar包,pom.xml如下:

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>

2.applicationContext.xml配置如下:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="username" value="root"/>
       <property name="password" value="zdsoft"/>
       <property name="url" value="jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
</bean>

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
       <property name="dataSource" ref="dataSource"/>
   </bean>

Java代码就和上面一样了。没什么区别。BasicDataSource多了一个close方法,可以自动管理连接对象。

三、将数据库配置独立出来。上面的配置如果想要把数据库相关配置独立为db.properties。可以首先创建文件db.properties,内容如下:

jdbc.url=jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=zdsoft

然后applicationContext.xml配置如下:

<!-- 导入配置文件 -->
<context:property-placeholder location="classpath:db.properties" />

<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
</bean>
原文地址:https://www.cnblogs.com/duanjt/p/9370842.html