`
happy100583
  • 浏览: 124920 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用Spring的SimpleJdbcTemplate完成DAO操作

    博客分类:
  • J2EE
阅读更多

     SimpleJdbcTemplate 内部包含了一个 NamedParameterJdbcTemplate; 所以 NamedParameterJdbcTemplate 能做的事情 SimpleJdbcTemplate 都能干, SimpleJdbcTemplate 相对于 NamedParameterJdbcTemplate 主要增加了 JDK5.0 的泛型和可变长度参数支持。

l        public <T> List<T> query(String sql, ParameterizedRowMapper<T> rm, Object... args)

l        public <T> T queryForObject(String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)

l        public <T> List<T> query(String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)

l        getJdbcOperations 返回的是 JdbcOperations( 实现 JdbcTemplate)

l        getNamedParameterJdbcOperations 返回的是 NamedParameterJdbcOperations( 实现是 NamedParameterJdbcTemplate)

 

实例说明:

public class StuDaoImple implements StuDaointer {

    private SimpleJdbcTemplate simplejdbctemp ;

    public StuDaoImple(){

       simplejdbctemp = new SimpleJdbcTemplate (SQLConnUtil.getDataSource ());

    }// SQLConnUtil JDBC 工具类,提供了得到数据源的静态方法

    /*

      * 可以通过 SimpleJdbcTemplate 得到 NamedParameterJdbcTemplate JdbcTemplate

      */

    public void AddStu(Stu stu){

       String sql= "insert into stu values(:sname,:ssex,:sbrith)" ;

       SqlParameterSource ps= new BeanPropertySqlParameterSource(stu);

       KeyHolder key= new GeneratedKeyHolder();

       this . simplejdbctemp .getNamedParameterJdbcOperations().update(sql, ps, key);

       System. out .println(key.getKey().intValue());

    }

    /* SimpleJdbcTemplate 的第一个好处:

      * SimpleJdbcTemplate update 方法中参数是动态的 , 但是只能用 ? 代替参数

      */

    public void DelStu( int id){

       String sql= "delete stu where s_id=?" ;

       simplejdbctemp .update(sql, id);

    }

    /*

      * SimpleJdbcTemplate update 方法中参数是动态的,它的个数是动态的

      */

    public void UpdStu(Stu stu){

       String sql= "update stu set s_name=?,s_sex=?,s_brith=? where s_id=?" ;

       simplejdbctemp .update(sql, stu.getSname(),stu.getSsex(),stu.getSbrith(),stu.getSid());

    }

    /*

      * SimpleJdbcTemplate 的第二个好处:

      * SimpleJdbcTemplate queryForObject 方法可以直接返回 Stu 对象,不用转换

      */

    public Stu getone( int id){

       String sql= "select s_id as sid,s_name as sname,s_sex as ssex,s_brith as sbrith from stu where s_id=?" ;

       Stu stu= simplejdbctemp .queryForObject(sql, ParameterizedBeanPropertyRowMapper.newInstance (Stu. class ), id);

       return stu;

    }

    public List getall(){

       String sql= "select s_id as sid,s_name as sname,s_sex as ssex,s_brith as sbrith from stu" ;

       List list= simplejdbctemp .getJdbcOperations().query(sql, new BeanPropertyRowMapper(Stu. class ));

       return list;

    }

}

分享到:
评论

相关推荐

    Spring之SimpleJdbcTemplate的使用

    在实际项目中,结合Spring的其他模块,如DAO支持、AOP等,SimpleJdbcTemplate将发挥更大的作用,为开发带来便利。 参考链接:[Spring SimpleJdbcTemplate详解](https://1194867672-qq-com.iteye.com/blog/1291025) ...

    spring操作MySQL数据库.zip

    在本项目"spring操作MySQL数据库.zip"中,主要展示了如何使用Spring框架与MySQL数据库进行集成,实现对数据库的增删查改操作。Spring是Java领域一个广泛应用的开源框架,它提供了一个全面的编程和配置模型,使得开发...

    spring-orm源码

    源码展示了Spring如何配置实体扫描、数据源、持久化单元等,以及如何使用EntityManager和Query进行数据操作。 6. **AOP代理** Spring使用AOP(面向切面编程)来实现事务管理。当你看到TransactionProxyFactoryBean...

    Spring中文帮助文档

    11.4.2. 使用SimpleJdbcTemplate进行批量操作 11.5. 通过使用SimpleJdbc类简化JDBC操作 11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器...

    Spring API

    11.4.2. 使用SimpleJdbcTemplate进行批量操作 11.5. 通过使用SimpleJdbc类简化JDBC操作 11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert...

    Spring.3.x企业应用开发实战(完整版).part2

    经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用Spring的各项功能的同时,还能透彻理解Spring的内部实现,真正做到知其然知其所以然。...

    spring-2.0.8-sources.jar.zip

    Spring 2.0.8加强了对JDBC的抽象,提供了JdbcTemplate和SimpleJdbcTemplate,简化了数据库操作。同时,它还集成了多种ORM框架,如Hibernate、JPA等,提供了统一的编程接口。 八、集成测试 Spring 2.0.8引入了...

    struts1+spring

    5. **Spring JDBC 和 DAO**:Spring 提供的 JDBC 模块简化了数据库操作,通过 JdbcTemplate 或 SimpleJdbcTemplate 可以实现无事务的数据库访问。而 DataSource 对象可以在 Spring 容器中配置,方便在 DAO 中获取并...

    spring中使用JDBC

    其中,Spring提供的三个主要模板类——`JdbcTemplate`、`NamedParameterJdbcTemplate`和`SimpleJdbcTemplate`,极大地简化了数据库操作,减少了代码量,提高了代码的可读性和可维护性。 #### JdbcTemplate `...

    Spring 2.0 开发参考手册

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    Maven+spring3.0MVC注释方式开发的Web应用

    - DAO层(Data Access Object):负责与数据库交互,使用`SimpleJdbcTemplate`执行SQL操作。 - 实体类(Entity):代表数据库中的表,通常包含getter和setter方法,可能还会有`@Entity`、`@Table`等JPA注解。 - 配置...

    spring-demo

    这个名为“spring-demo”的项目,显然旨在展示如何使用Spring框架的几个关键组件:Spring JDBC、Spring MVC以及Spring业务层来构建一个完整的Web应用。下面将详细阐述这些知识点。 1. **Spring JDBC**: Spring ...

    student_mis.rar_Spring学生_spring 增删改查

    Spring JDBC提供了Template类,如JdbcTemplate或SimpleJdbcTemplate,它们封装了常见的数据库操作,使得代码更加简洁且易于管理。 接下来,事务管理是企业级应用中必不可少的部分。Spring提供了声明式事务管理,...

    spring.jdbc-3.0.5.jar

    Spring JDBC的主要目标是简化传统的JDBC编程模型,通过提供模板类和数据访问对象(DAO)支持,来处理数据库操作的繁琐过程,如连接管理、事务处理和异常转换等。这一版本3.0.5的发布,进一步优化了性能和稳定性。 ...

    spring chm文档

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    Spring MVC+SimpleJdbcDaoSupport增删改查小例子

    1. **简介**:SimpleJdbcTemplate和SimpleJdbcDaoSupport是Spring提供的简单JDBC模板类,用于简化数据库操作,避免了手动创建Connection、PreparedStatement等对象。 2. **使用方式**:通过继承SimpleJdbcDaoSupport...

    Spring aop、jdbc和事务tx练习

    - 使用JdbcTemplate进行数据库操作的DAO(Data Access Object)类,包含CRUD操作。 - 包含@Transactional注解的服务层类,定义了业务逻辑,利用Spring自动管理事务。 - 测试类,通过JUnit或其他测试框架验证AOP、...

    Spring3.x企业应用开发实战(完整版) part1

    经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用Spring的各项功能的同时,还能透彻理解Spring的内部实现,真正做到知其然知其所以然。...

Global site tag (gtag.js) - Google Analytics