//使用Spring的jdbcTemplate进一步简化JDBC操作 //先看applicationContext.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.5.xsd"> <bean id="springDSN" 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=bbs"> </property> <property name="username" value="sa"></property> <property name="password" value="sa"></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="springDSN" /> </property> </bean> </beans> //在看SpringUtil类 package com.r.dao; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public final class SpringUtil { private static ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); public static Object getBean(String beanName){ return ctx.getBean(beanName); } } //最后看DAO: import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import org.springframework.jdbc.core.JdbcTemplate; import com.r.vo.Book; public class BookDao { private JdbcTemplate jdbcT = (JdbcTemplate) SpringUtil .getBean("jdbcTemplate"); public List findALL() { String sql = "select * from BookInfo"; return jdbcT.queryForList(sql); } public List<Book> findALLBooks() { List<Book> books = new ArrayList<Book>();; String sql = "select * from BookInfo"; List list = jdbcT.queryForList(sql); Iterator iterator = list.iterator(); Book book = null; while (iterator.hasNext()) { Map map4book = (Map) iterator.next(); book = new Book(); book.setBid((Integer) map4book.get("bid")); book.setBookName((String)map4book.get("bookName")); book.setBookType((String)map4book.get("bookType")); book.setBookPic(((BigDecimal)map4book.get("bookPic")).doubleValue() ); book.setCount((Integer) map4book.get("count")); books.add(book); } return books; } public int delete(int bid){ String sql = "delete from BookInfo where bid =?"; return jdbcT.update(sql, new Object[]{bid}); } public static void main(String[] args) { List<Book> books = new BookDao().findALLBooks();; for(Book book:books){ System.out.println(book.getBid()+","+book.getBookName()+","+book.getBookType()); } } } /**细心你,会发现JdbcTemplate的实例中有一系列的方法如:queryForXXX,update,delete大大简化了JDBC操作. 当然,还可以再进一步的优化一下,就是通过依赖注入,直接把jdbcTemplate注入到dao类的jdbcT字段.*/ //先看新的applicationContext.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.5.xsd"> <bean id="springDSN" 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=bbs"> </property> <property name="username" value="sa"></property> <property name="password" value="sa"></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="springDSN" /> </property> </bean> <bean id="bookDao" class="com.spring.dao.BookDao"> <property name="jdbcT"> <ref bean="jdbcTemplate" /> </property> </bean> </beans> //那么新的DAO类: import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import org.springframework.jdbc.core.JdbcTemplate; import com.r.vo.Book; public class BookDao { private JdbcTemplate jdbcT; public List findALL() { String sql = "select * from BookInfo"; return jdbcT.queryForList(sql); } public List<Book> findALLBooks() { List<Book> books = new ArrayList<Book>();; String sql = "select * from BookInfo"; List list = jdbcT.queryForList(sql); Iterator iterator = list.iterator(); Book book = null; while (iterator.hasNext()) { Map map4book = (Map) iterator.next(); book = new Book(); book.setBid((Integer) map4book.get("bid")); book.setBookName((String)map4book.get("bookName")); book.setBookType((String)map4book.get("bookType")); book.setBookPic(((BigDecimal)map4book.get("bookPic")).doubleValue() ); book.setCount((Integer) map4book.get("count")); books.add(book); } return books; } public int delete(int bid){ String sql = "delete from BookInfo where bid =?"; return jdbcT.update(sql, new Object[]{bid}); } public static void main(String[] args) { List<Book> books = new BookDao().findALLBooks();; for(Book book:books){ System.out.println(book.getBid()+","+book.getBookName()+","+book.getBookType()); } } } //通过依赖注入,对象之间的关系由SPRING来维护,这样能降低类与类的耦合度 /**原文地址:http://www.cnblogs.com/Fskjb/archive/2009/11/18/1605622.html*/
相关推荐
总的来说,Spring JdbcTemplate是Spring框架中处理数据库操作的重要工具,它通过简化JDBC API,提升了开发效率和代码质量。在实际项目中,结合Spring的其他组件,可以构建出稳定、高效的数据访问层。这个实例工程为...
SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...
Spring JDBC Template是Spring框架的一部分,它为Java数据库连接(JDBC)提供了一种抽象层,目的是简化数据库操作,同时保留了JDBC的灵活性。在实际开发中,它可以帮助我们避免编写大量的样板代码,如手动打开和关闭...
基于注解的Spring JdbcTemplate进一步增强了这种便利性,允许开发者直接在方法上使用注解来指定SQL语句。 ### 2. 注解使用 Spring JdbcTemplate的注解支持主要包含以下几个关键注解: - `@Query`: 用于定义SQL...
在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...
Spring JDBC Template是Spring提供的一个简化数据库操作的工具,它封装了JDBC的繁琐部分,让开发者可以更专注于业务逻辑。 在这个“简易登录系统”中,Struts2主要承担用户界面和控制器之间的交互。用户在登录页面...
标题中的“一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包”指的是一个专为简化Java开发中数据库操作而设计的工具包。这个工具包利用了Spring的JdbcTemplate,它是一个轻量级的ORM(对象关系映射)框架...
`JdbcTemplate`是Spring提供的工具类,用于简化JDBC操作,例如执行SQL和处理结果集。`RowMapper`接口用于将结果集映射到Java对象。 集成Spring Data JDBC可以减少代码量,提高可维护性,并且由于Spring的其他模块...
Spring JDBC Template是Spring框架的一部分,它提供了一种简化数据库操作的方式,通过抽象出低级的JDBC细节,使开发者能够更高效、更安全地处理数据库交互。连接池是数据库资源管理的重要工具,它可以提高数据库访问...
标题 "jdbcTemplate-spring对jdbc的支持" 涉及到的是Spring框架中的一个核心组件——JdbcTemplate,它是Spring对Java数据库连接(JDBC)的一种封装,用于简化数据库操作。JdbcTemplate提供了一种模板方法模式,使得...
**Spring JdbcTemplate**是Spring框架中的一个核心组件,主要用于简化Java数据库访问。它提供了一种模板化的方式来执行SQL语句,使得开发人员可以避免编写大量的重复代码,专注于业务逻辑,而不是底层的数据库交互...
总结起来,Spring JdbcTemplate是Spring框架中用于数据库操作的重要组件,它简化了JDBC的使用,提供了丰富的API来处理各种数据库操作。通过`JsonBean.java`和`JdbcUtils.java`,我们可以看到如何在实际项目中定义...
在Java的Spring框架中,Spring JDBC(Java Database Connectivity)是一个重要的模块,用于简化数据库操作。Spring JDBC通过提供JdbcTemplate和SimpleJdbcTemplate等工具类,帮助开发者以更安全、更易于管理的方式与...
Spring JdbcTemplate是Spring框架中用于简化数据库操作的一个重要组件,它是Spring对JDBC的轻量级封装,旨在提供一种结构良好、易于使用的SQL执行机制,同时保持了JDBC的灵活性。在本实例中,我们将深入探讨Spring ...
在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,它采用了模板模式来分离数据库访问中的不变和可变部分,提供了一种更加健壮且易于使用的数据访问机制。`JdbcTemplate`负责处理资源的获取、关闭以及...
其中,Spring JDBC Template是Spring提供的一个用于简化数据库操作的工具,它抽象了JDBC API,使我们能够以更简洁、更面向对象的方式来处理数据库事务。本篇文章将深入探讨Spring JdbcTemplate的使用方法和核心概念...
Spring JDBCTemplate是Spring框架中的一个核心组件,它提供了一种简化数据库操作的抽象层,使得开发者可以更加方便、高效地处理数据库事务。本篇将深入探讨Spring JDBCTemplate的使用及其源码解析,帮助你理解其背后...
Spring JdbcTemplate简化了数据库操作,通过模板模式抽象出通用的流程,而回调机制则提供了定制化数据处理的能力。理解并熟练运用这些概念,能够帮助开发者更高效地进行数据库相关的编程,提高代码质量和可维护性。...
JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者能够编写出更健壮、更易于维护的代码,避免了手动处理JDBC连接、预编译SQL语句等繁琐任务。 首先,我们来理解一下JdbcTemplate的基本...