Spring与Jdbc Demo

方法一:继承JdbcTemplate来实现

  1、配置applicationContext  

 1 <!-- 获取数据源连接   dbcp -->
 2 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
 3 <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
 4 <property name="url" value="jdbc:mysql://localhost:3306/hibernatetest"></property>
 5 <property name="username" value="root"></property>
 6 <property name="password" value="mysql"></property>
 7 </bean>
 8
 9 <!-- ********************************** -->
10 <bean id="personDao" class="cn.test.spring.jdbc.PersonDaoImpl">
11     <property name="dataSource">
12         <ref bean="dataSource"/>
13     </property>
14 </bean>

  2、继承applicationContext

1 public class PersonDaoImpl extends JdbcDaoSupport implements PersonDao {
2
3     public void savePerson() {
4         this.getJdbcTemplate().execute(" INSERT INTO person(pid,Pname,Page) VALUES(2,‘李四‘,50) ");
5
6     }

  3、测试

@Test
    public void savePerson(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("cn/test/spring/jdbc/applicationContext.xml");
        PersonDao personDao= (PersonDao) applicationContext.getBean("personDao");
        personDao.savePerson();
    }

方法二:jdbcTemplate作为属性带入

  1、配置applicationContext.xml

<!-- 获取数据源连接   dbcp -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/hibernatetest"></property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean> 

<!-- ********************************** -->

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource">
        <ref bean="dataSource"/>
    </property>
</bean>
<bean id="personDao2" class="cn.test.spring.jdbc.PersonDaoImpl2">
    <property name="jdbcTemplate">
        <ref bean="jdbcTemplate"/>
    </property>
</bean>

  2、声明字段

 1 public class PersonDaoImpl2  implements PersonDao {
 2
 3     private JdbcTemplate jdbcTemplate;
 4
 5     public JdbcTemplate getJdbcTemplate() {
 6         return jdbcTemplate;
 7     }
 8
 9     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
10         this.jdbcTemplate = jdbcTemplate;
11     }
12
13
14     public void savePerson() {
15         this.getJdbcTemplate().execute(" INSERT INTO person(pid,Pname,Page) VALUES(22,‘李四2‘,502) ");
16
17     }

  3、测试

@Test
    public void savePerson2(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("cn/test/spring/jdbc/applicationContext.xml");
        PersonDao personDao= (PersonDao) applicationContext.getBean("personDao2");
        personDao.savePerson();
    }

方法三:通过构造函数

1、配置applicationContext.xml

<!-- 获取数据源连接   dbcp -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/hibernatetest"></property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean> 

<!-- ********************************** -->
<bean id="personDao3" class="cn.test.spring.jdbc.PersonDaoImpl3">
    <constructor-arg index="0" ref="dataSource"></constructor-arg>
</bean>

2、构造函数

public class PersonDaoImpl3 extends JdbcTemplate  implements PersonDao {

    public PersonDaoImpl3(DataSource dataSource){
        super(dataSource);
    }

    public void savePerson() {
        this.execute(" INSERT INTO person(pid,Pname,Page) VALUES(23,‘李四3‘,503) ");

    }

3、测试

@Test
    public void savePerson3(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("cn/test/spring/jdbc/applicationContext.xml");
        PersonDao personDao= (PersonDao) applicationContext.getBean("personDao3");
        personDao.savePerson();
    }

注:以上方法只能进行增删改,不能进行查找

查找:

目标方法:

public List<Person> getPersons() {
        return this.getJdbcTemplate().query("select * from person", new PersonRowMapper());
    }

PersonRowMapper.java

public class PersonRowMapper implements RowMapper {

    public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
        Person person=new Person();
        person.setPid(rs.getLong("pid"));
        person.setPname(rs.getString("Pname"));
        person.setPage(rs.getString("Page"));
        return person;
    }

测试

@Test
    public void testQuery(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("cn/test/spring/jdbc/applicationContext.xml");
        PersonDao personDao= (PersonDao) applicationContext.getBean("personDao");
        List<Person> personList = personDao.getPersons();
        System.out.println(personList.size());
    }
时间: 2024-10-12 19:47:08

Spring与Jdbc Demo的相关文章

JAVAEE——spring03:spring整合JDBC和aop事务

一.spring整合JDBC 1.spring提供了很多模板整合Dao技术 2.spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模板对象 与DBUtils中的QueryRunner非常相似. //0 准备连接池 ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Dri

项目构建之maven篇:4.坐标与依赖及spring依赖注入demo

源代码下载 坐标 <groupId>com.demo.animal</groupId> <artifactId>animal-core</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> groupId:定义当前maven项目隶属的实际项目 artifactId:定义实际项目中的一个maven项目(模块),推荐实际项

Spring整合JDBC以及AOP管理事务

本节内容: Spring整合JDBC Spring中的AOP管理事务 一.Spring整合JDBC Spring框架永远是一个容器,Spring整合JDBC其实就是Spring提供了一个对象,这个对象封装了JDBC技术,它可以操作数据库,这个对象可以放入Spring容器,交给Spring容器来管理.所以我们主要是要学习这个对象:JDBCTemplate.这个对象和DBUtils中的QueryRunner非常相似. 1. 导包 4+2+2(测试需要的包spring-test,新版本测试时还需要sp

Spring整合jdbc

首先web.xml文件跟往常一样,加载spring容器和加载org.springframework.web.context.ContextLoaderListener读取applicationContext.xml文件初进行始化. 使用spring整合jdbc工具步骤: 1.使用连接池com.mchange.v2.c3p0.ComboPooledDataSource等工具创建数据源. 2.把数据源交给LazyConnectionDataSourceProxy进行管理 3.把LazyConnect

Spring(十三)Spring整合JDBC

做开发不连接数据库怎么行!Spring整合JDBC过程中,数据源可以直接都在beans.xml里配置,也可以把数据单独放在一个properties文件里,方便维护. 首先放入各种jar包,连接MySQL当然要放数据驱动文件. jar包什么的对照项目截图,切面aspect和cglib在这个工程没用到,jar包可以不添加进来 beans.xml,在头文件加上tx事务相关的引用,其他要注意的在文件的注释里基本都点到了 <?xml version="1.0" encoding="

跟着刚哥学习Spring框架--JDBC(六)

Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简化JDBC编程 Spring提供了3个模板类: JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问. NamedParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是使用索引参数. Simpl

Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理

Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架,让spring来帮我们处理异常. (1)使用简单异常处理器 step1. 配置简单异常处理器. step2. 添加对应的异常处理页面. 注:该方式只适合处理简单异常的处理,如果要对异常做复杂处理,比如 记录日志等,则不合适了. (2)使用@ExceptionHandler注解 step1. 在处理

Spring的JDBC框架

转自: http://www.cnblogs.com/windlaughing/p/3287750.html Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简化JDBC编程 Spring提供了3个模板类: JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问. NamedParameterJdbcTemplat

(转) Spring Boot JDBC 连接数据库

文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. 1 JDBC 连接数据库 1.1 属性配置文件(application.properties) spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 s