使用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>

    <bean id="bookDao" class="com.yy.struts.dao.BookDao">
       <property name="jdbcT">
          <ref bean="jdbcTemplate" />
       </property>
    </bean>
</beans>

在看SpringUtil类

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;
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());
        }
    }
}
时间: 2024-11-09 00:36:26

使用Spring的jdbcTemplate进一步简化JDBC操作的相关文章

使用Spring简化JDBC操作数据库

Spring的开发初衷是为了减轻企业级开发的复杂度,其对数据库访问的支持亦如此,使用Spring访问数据库能带来以下好处: 1.1     简化代码 使用原生的JDBC访问数据库,一般总是要执行以下步骤: 1)         获取数据库资源,例如连接等: 2)         准备并执行SQL,并处理返回结果 3)         释放数据库资源 4)         处理上述所有步骤出现的异常,处理异常的过程中也要捕获异常 典型的代码结构如下: public TestObj queryTes

使用模板方法模式简化JDBC操作

在使用JDBC时,会重复的写很多重复的代码,例如 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; String sql="insert into t_user(username,brithday) values(?,?)"; try { conn = JdbcUtils.getConnection(); ps = conn.prepareStatement(sql); } catch (

Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比

以User为操作对象 package com.swift.jdbc; public class User { private Long user_id; private String user_code; private String user_name; private String user_password; private String user_state; public User() { super(); // TODO Auto-generated constructor stub

Spring之JDBCTemplate学习

一.Spring对不同的持久化支持: Spring为各种支持的持久化技术,都提供了简单操作的模板和回调 ORM持久化技术 模板类 JDBC org.springframework.jdbc.core.JdbcTemplate Hibernate5.0 org.springframework.orm.hibernate5.HibernateTemplate IBatis(MyBatis) org.springframework.orm.ibatis.SqlMapClientTemplate JPA

使用Spring的JdbcTemplate访问数据库 转

使用Spring的JdbcTemplate访问数据库 JdbcTemplate 模板可以简化JDBC操作,但是创建一个JdbcTemplate需要一个DataSource接口,在Spring中,当然就是向 JdbcTemplate中注入一个DataSource,然后通过JdbcTemplate来获取一个连接(Connection). 假设SQL Server 2000数据库(新建的数据库名称为hibernate)中有一张person表,简单地记录了人员的详细信息. 使用Spring的IOC机制实

spring之jdbcTemplate实例

如果我们不使用spring或使用spring但不使用spring的jdbcTemplate模板的时候我们要取得一个数据库的连接以及关闭要经过如下几步: 1.使用Java反射加载驱动 2.通过DriverManager 的getConnection() 方法获取Connection对象 3.获取Statement    或PrepareStatement 4. 调用Statement  或PrepareStatement的方法进行数据ddl  dcl  dml 操作 5.获取结果 6.释放资源 7

玩转spring boot——结合AngularJs和JDBC

参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `t_order` -- ---------------------------- DROP TABLE IF EXISTS `t_order`; CREAT

Spring的JdbcTemplate

JdbcTemplate模板与DbUtils工具类比较类似. #1 开发JDBCTemplate入门: ## 第一步:引入相应jar包: * spring-tx-3.2.0.RELEASE.jar * spring-jdbc-3.2.0.RELEASE.jar * mysql驱动. ## 第二步:创建applicationContext.xml ## 第三步:编写一个测试类: ``` @RunWith(SpringJUnit4ClassRunner.class) @ContextConfigur

Spring中jdbcTemplate的用法实例

一.首先配置JdbcTemplate: 要使用Jdbctemplate 对象来完成jdbc 操作.通常情况下,有三种种方式得到JdbcTemplate 对象.       第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化.也就是它是从外部"注入" DataSource 到DAO 中,然后 自己实例化JdbcTemplate,然后将DataSource 设置到JdbcTemplate 对象中.       第二种