当前位置 : 主页 > 编程语言 > java >

spring逐步整合orm实例--第三例:整合jdbc。

来源:互联网 收集:自由互联 发布时间:2022-07-07
这个时候,与其说整合jdbc,倒不如说使用整合jdbc。 因为我们在书本上,或者网上可以赫然看到spring体系的一个产品: spring-jdbc。 好吧,因为前面有了两篇相似的还算是整合的例子,可


   这个时候,与其说整合jdbc,倒不如说使用整合jdbc。  因为我们在书本上,或者网上可以赫然看到spring体系的一个产品: spring-jdbc。  好吧,因为前面有了两篇相似的还算是整合的例子,可以做对比,因此就继续贴出来练习练习。

  先看这个时候的依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.automannn.springZhenghe</groupId>
<artifactId>spirngZhenhe</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.4.0</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.1.RELEASE</version>
</dependency>
</dependencies>
</project>

   这个时候我们引入了spring-jdbc。  还记得我在第一例中说过关于数据源实现的事情吗?   并且我们也知道了spring-jdbc是依赖了c3p0的。  因此这个时候我们不妨去看看数据源的实现:

spring逐步整合orm实例--第三例:整合jdbc。_spring

  可见,它自己还是封装了很多的数据源实现,正如Druid一样。  总之吧,以后谁在跟我说数据源,我能有信息一口气给他说出来好几个。

  看一看它的使用:

package com.automannn.springZhenhe.dao;

import org.springframework.jdbc.core.support.JdbcDaoSupport;

/**
*
* @time 2018/10/16 12:43
*/
public class JDBCTemplatePersonDao extends JdbcDaoSupport {

public void savePerson(String sql){
this.getJdbcTemplate().execute(sql);
}
}

  注意,这个地方的JdbcDaoSupport是由spring-jdbc提供的一个模板。   我们直接使用jdbc模板进行相关的操作。  它的背后大概就是上一个例子样子吧,没有具体的去看。  

  它的配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--
引入properties配置文件
-->

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>

<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="jdbcTemplatePersonDao" class="com.automannn.springZhenhe.dao.JDBCTemplatePersonDao">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>

  它的使用:

package com.automannn.springZhenhe;

import com.automannn.springZhenhe.dao.*;
import com.automannn.springZhenhe.entity.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
* @author automannn@163.com
* @time 2018/10/16 11:31
*/
public class App {

public static void main(String[] args) throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");
JDBCTemplatePersonDao jdbcTemplatePersonDao = (JDBCTemplatePersonDao) context.getBean("jdbcTemplatePersonDao");

jdbcTemplatePersonDao.savePerson("insert into person(pid,pname) values(5,'ccc')");
}
}

  运行它:

spring逐步整合orm实例--第三例:整合jdbc。_xml_02

网友评论