`
zhangfeiii
  • 浏览: 44588 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

使用Spring的JdbcTemplate访问数据库

阅读更多
JdbcTemplate模板可以简化JDBC操作,但是创建一个JdbcTemplate需要一个DataSource接口,在Spring中,当然就是向JdbcTemplate中注入一个DataSource,然后通过JdbcTemplate来获取一个连接(Connection)。

假设SQL Server 2000数据库(新建的数据库名称为hibernate)中有一张person表,简单地记录了人员的详细信息。

使用Spring的IOC机制实现注入,配置XML代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


<bean id="springDataSource"
   class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName"
    value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
   </property>
   <property name="url"
    value="jdbc:microsoft:sqlserver://localhost:1433;databasename=hibernate">
   </property>
   <property name="username" value="sa"></property>
   <property name="password" value="111111"></property>
</bean>


<bean id="jdbcTemplate"
   class="org.springframework.jdbc.core.JdbcTemplate" abstract="false"
   lazy-init="false" autowire="default" dependency-check="default">
   <property name="dataSource">
    <ref bean="springDataSource" />
   </property>
</bean>

</beans>

首先编写一个PersonDao,代码如下所示:

package org.shirdrn.jdbcTemplate.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.sql.DataSource;

import org.shirdrn.interf.IPersonDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class PersonDao implements IPersonDao {
private JdbcTemplate jdbcTemplate;

public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {    // 注入JdbcTemplate
   this.jdbcTemplate = jdbcTemplate;
}

public Connection getConnection(){    // 获取Connection
   ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
   DataSource springDataSource = (DataSource)ctx.getBean("springDataSource");
   JdbcTemplate jdbcTemplate = (JdbcTemplate)ctx.getBean("jdbcTemplate");
   /*jdbcTemplate.setDataSource(springDataSource);  
   setJdbcTemplate(jdbcTemplate);     */
   DataSource dataSource = jdbcTemplate.getDataSource();
   Connection conn = null;
   try {
    conn = dataSource.getConnection();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   return conn;
}

public ResultSet queryPersons(String sql){
   ResultSet rs = null;
   try {
    Connection connection = getConnection();
    Statement st = connection.createStatement();
    rs = st.executeQuery(sql);
   } catch (SQLException e) {
    e.printStackTrace();
   }
   return rs;
}
}

上面注释掉的两行代码:

   jdbcTemplate.setDataSource(springDataSource);
   setJdbcTemplate(jdbcTemplate);

其实是多余的,实际上Spring的IOC容器会自动检测并自动注入的。

建立测试主函数:

package org.shirdrn.main;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.shirdrn.jdbcTemplate.dao;

public class Main {

public static void main(String[] args){
   PersonDao pd = new PersonDao();
   ResultSet rs = pd.queryPersons("select * from person");
   int n = 0;
   try {
    while(rs.next()){
     n++;
     System.out.println("id     = "+rs.getString("id"));
     System.out.println("name   = "+rs.getString("name"));
     System.out.println("gender = "+rs.getString("gender"));
     System.out.println("age    = "+rs.getString("age"));
     System.out.println("addr   = "+rs.getString("addr"));
     System.out.println("*******************************");
    }
    System.out.println("数据库中共有记录 "+n+" 条");
   } catch (SQLException e) {
    e.printStackTrace();
   }
}
}

分享到:
评论

相关推荐

    基于注解的Spring JdbcTemplate

    本教程将深入探讨如何使用基于注解的Spring JdbcTemplate进行数据库操作,特别适合初学者入门学习。 ### 1. Spring JdbcTemplate简介 Spring JdbcTemplate提供了一个面向对象的接口,用于执行SQL查询、更新和存储...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...

    spring-jdbcTemplate实例工程

    Spring JdbcTemplate的出现是为了弥补原生JDBC在编码上的繁琐,它通过模板方法模式,将SQL执行、结果集处理等进行了抽象,使得开发者可以更专注于业务逻辑,而无需过多关注数据库访问的细节。同时,它还提供了事务...

    strut2+spring+springjdbctemplate做的简易登录系统

    Spring JDBC Template是Spring提供的一个简化数据库操作的工具,它封装了JDBC的繁琐部分,让开发者可以更专注于业务逻辑。 在这个“简易登录系统”中,Struts2主要承担用户界面和控制器之间的交互。用户在登录页面...

    Spring JDBCTemplate连接池jar包

    总之,Spring JDBCTemplate结合连接池提供了一个高效且易于使用的数据库访问层,它降低了数据库操作的复杂性,同时也提升了系统的性能。正确配置和使用这些库,可以极大地优化我们的数据库应用程序。

    Spring JdbcTemplate

    **Spring JdbcTemplate**是Spring框架中的一个核心组件,主要用于简化Java数据库访问。它提供了一种模板化的方式来执行SQL语句,使得开发人员可以避免编写大量的重复代码,专注于业务逻辑,而不是底层的数据库交互...

    Spring boot 使用JdbcTemplate访问数据库

    在 Spring Boot 中使用 JdbcTemplate 访问数据库,是一种常见且简便的方式,特别适合那些需要对数据库进行基础操作的应用。 JdbcTemplate 是 Spring Framework 提供的一个模板类,它对 JDBC API 进行了封装,使得...

    Spring JdbcTemplate查询实例

    综上所述,Spring JdbcTemplate为开发者提供了简洁、安全的数据库访问方式,尤其适用于简单的CRUD操作。通过学习和掌握Spring JdbcTemplate,我们可以更高效地进行数据库交互,减少代码中的错误,提高开发效率。在...

    Spring JdbcTemplate例子

    Spring JdbcTemplate是Spring框架中的一个核心组件,主要用来简化数据库操作。它提供了一种模板方法设计模式,将SQL语句的执行与结果处理进行了抽象,使得开发者可以更加专注于业务逻辑,而无需关心底层数据访问的...

    Spring JdbcTemplate api

    在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,它采用了模板模式来分离数据库访问中的不变和可变部分,提供了一种更加健壮且易于使用的数据访问机制。`JdbcTemplate`负责处理资源的获取、关闭以及...

    spring jdbcTemplate 源码

    Spring JDBCTemplate是Spring框架中的一个核心组件,它提供了一种简化数据库操作的抽象层,使得开发者可以更加方便、高效地处理数据库事务。本篇将深入探讨Spring JDBCTemplate的使用及其源码解析,帮助你理解其背后...

    详解在spring中使用JdbcTemplate操作数据库的几种方式

    在Spring框架中,JdbcTemplate是用于简化数据库操作的工具,它提供了一种声明式的方式处理SQL,降低了数据库访问的复杂性。本篇文章将详细介绍如何在Spring中使用JdbcTemplate进行数据库操作,包括设置依赖、创建...

    在Java的Servlet中使用Spring JdbcTemplate-MyEclipse版.rar

    本资源是一个完整的通过Servlet-Service-Dao-JdbcTemplate访问MySQL数据库的JavaWeb Project,可以直接导入到MyEclipse中进行调试运行,注意默认编译器是JDK1.6。

    spring的jdbcTemplate小案例

    JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者能够编写出更健壮、更易于维护的代码,避免了手动处理JDBC连接、预编译SQL语句等繁琐任务。 首先,我们来理解一下JdbcTemplate的基本...

    SSH笔记-Spring JdbcTemplate

    Spring是一个广泛应用的Java企业级应用框架,它提供了多种数据访问工具,而JdbcTemplate就是其中之一,用于简化JDBC(Java Database Connectivity)操作,提高代码的可读性和可维护性。 在Spring4版本中,...

    spring jdbctemplate实例

    Spring的JdbcTemplate是Spring框架中的一个核心组件,用于简化数据库操作。它提供了一种模板方法模式,抽象出了一些常见的数据库访问任务,使得开发者无需关注低级的JDBC细节,如打开和关闭连接、处理结果集等,从而...

    在Java的Servlet中使用Spring JdbcTemplate-Eclipse版

    本资源是一个完整的通过Servlet-Service-Dao-JdbcTemplate访问MySQL数据库的JavaWeb Project,可以直接导入到Eclipse中进行调试运行,注意默认编译器是JDK1.8。

    Spring jdbctemplate + mysql 分页封装

    在IT行业中,数据库操作是应用开发中的重要环节,Spring框架的JdbcTemplate是Java开发者常用的数据库访问工具,它简化了SQL的执行和结果处理。本文将深入探讨如何利用Spring的JdbcTemplate进行MySQL数据库的分页查询...

Global site tag (gtag.js) - Google Analytics