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

数据库访问层的实现(二)——使用Spring中的JdbcTemplate工具类

阅读更多

注意:使用JdbcTemplate之前需要导入Spring框架的jar包以及一些依赖包,简单方法是在Eclipse中 项目->右键->Myeclipse->

Add Spring...

 

基于JdbcTemplate的UserDao接口实现:

public class UserDaoSpringImpl implements UserDao {
	private SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(JdbcUtils.getMyDataSource());

	@Override
	public void addUser(User user) {
		String sql = "insert into user(name,password,birthday,money) values(:name,:password,:birthday,:money)";
		SqlParameterSource paramSource = new BeanPropertySqlParameterSource(user);
		KeyHolder keyHolder = new GeneratedKeyHolder();
		this.simpleJdbcTemplate.getNamedParameterJdbcOperations().update(sql, paramSource, keyHolder);
		user.setId(keyHolder.getKey().longValue()); // 获取生成主键
	}

	@Override
	public void delete(User user) {
		String sql = "delete from user where id=?";
		Object[] args = new Object[] { user.getId() };
		this.simpleJdbcTemplate.update(sql, args);
	}

	@Override
	public User findUser(String loginName, String password) {
		String sql = "select name,password,birthday,money from user where name=? and password=?";
		Object[] args = new Object[] { loginName, password };
		User user = (User) this.simpleJdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), args);
		return user;
	}

	@Override
	public User getUser(int userId) {
		String sql = "select id,name,password,birthday,money from user where id=?";
		Object[] args = new Object[] { userId };
		User user = (User) this.simpleJdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), args);
		return user;
	}

	@Override
	public String getUserName(int id) {
		String sql = "select name from user where id=?";
		String name = (String) this.simpleJdbcTemplate.queryForObject(sql, String.class, id);
		return name;
	}

	@Override
	public void update(User user) {
		String sql = "update user set name=:name,password=:password,birthday:=birthday,money=:money where id=:id";
		SqlParameterSource paramterSource = new BeanPropertySqlParameterSource(user);
		this.simpleJdbcTemplate.update(sql, paramterSource);
	}

	@Override
	public List<User> getUsers(int id) {
		String sql = "select id,name,password,birthday,money from user where id<?";
		List<User> users = (List<User>) this.simpleJdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class), id);
		return users;
	}
}
分享到:
评论

相关推荐

    Spring SpringMvc JdbcTemplate NamedParameterJdbcTemplate

    标题 "Spring SpringMvc JdbcTemplate NamedParameterJdbcTemplate" 涉及到的是Java开发中的关键框架——Spring,以及它在数据库操作中的两个重要组件:JdbcTemplate和NamedParameterJdbcTemplate。这两个工具是...

    Spring学习心得(二)——日志和数据库

    在本文中,我们将深入探讨这两个关键领域,并基于给出的"Spring学习心得(二)——日志和数据库"这个标题进行详细的阐述。 首先,让我们从日志开始。在Java应用程序中,日志系统扮演着调试、监控和问题排查的关键角色...

    第十二章 Spring4 支持参数命名的JdbcTemplate

    JdbcTemplate是Spring提供的一种数据库访问工具,它简化了数据库操作,提高了代码的可读性和可维护性。在这个新特性中,我们可以使用命名参数,而不是传统的问号占位符,来提高SQL查询的清晰度。 ### 一、...

    JdbcTemplate简单实例

    **JdbcTemplate简单实例** 在Java开发中,数据库操作是一个非常重要的环节。Spring框架提供了一个强大的...在实际项目中,结合其他Spring组件,如DAO层、Service层,JdbcTemplate能够构建出高效且健壮的数据库访问层。

    spring+springmvc 纯框架涵数据库

    标题 "spring+springmvc 纯框架涵数据库" 指出我们要探讨的是Spring框架与...初学者可以从中学习如何设置Spring环境,配置Spring MVC,创建控制器,定义模型和视图,以及如何使用Spring的数据访问层来与数据库交互。

    spring中使用JDBC

    在DAO层的`AdminDAOImpl`类中,`JdbcTemplate`被用来执行数据库的CRUD(Create, Read, Update, Delete)操作。例如,`list()`方法用于查询所有管理员信息,`add()`方法用于添加新的管理员,而`findByName()`方法则...

    spring完整demo实例

    在Dorm文件夹中,可能包含与数据库交互的示例,比如定义数据访问对象(DAO)、事务配置以及如何使用Spring的JdbcTemplate或JPA进行CRUD操作。 此外,Spring MVC是Spring框架的一部分,用于构建Web应用程序。它提供...

    JdbcTemplate.zip

    为了解决这些问题,Spring框架提供了一个强大的工具类——JdbcTemplate,它将JDBC的操作进行了封装,使代码更加简洁、安全,并易于维护。 JdbcTemplate是Spring JDBC模块的核心组件,它的设计目标是简化数据库访问...

    学生成绩管理struts+spring+jdbc+mysql.zip

    6. 工具类:可能包括数据库连接池的配置类、日志记录类、字符串处理工具类等,这些类提供了系统运行时需要的辅助功能。 本系统结合了现代Java EE开发中的三种关键技术——Struts、Spring和JDBC,使得Web应用的开发...

    spring2.5.6示例 imagedb

    在数据库操作层面,Spring 2.5.6可能使用了JdbcTemplate或者Hibernate作为ORM工具,这两者都是Spring生态中的重要组成部分。JdbcTemplate提供了简单的SQL执行接口,而Hibernate则支持对象关系映射,使得开发者可以以...

    spring 离线文档

    Spring JDBC模块简化了数据库操作,提供了JdbcTemplate和SqlSessionTemplate等工具类。同时,Spring与各种ORM框架(如Hibernate、MyBatis)集成良好,提供了方便的数据访问抽象。 另外,Spring还提供了对事务管理的...

    spring3.x的读书笔记-5

    然而,Spring还提供了Load Time Weaving(LTW)的选项,这是一种在类加载阶段就完成切面织入的技术,通过字节码编译实现,这使得切面能够在程序启动之前就被集成到目标类中,从而提高了效率和性能。 Spring对DAO的...

    spring-framework-reference

    6. **Spring Instrumentation**:提供服务器和类加载器的工具支持。 7. **Spring Test**:提供了测试支持,包括JUnit和TestNG的集成,方便进行单元测试和集成测试。 四、实战应用 1. **Bean配置**:使用XML或Java...

    JAVA项目-简易网吧管理系统

    JDBCTemplate是Spring框架的一部分,它提供了一种简化数据库访问的抽象层,通过预编译SQL语句、事务管理等功能,使得开发者可以更加专注于业务逻辑,而不是繁琐的数据库交互细节。在本项目中,JDBCTemplate被用来...

    Spring框架原理及详细搭建步骤

    Spring框架是由Rod Johnson开发的,是当下最流行的Java开发框架之一,它支持多种编程模型,包括Web开发、数据访问、安全、事务管理等,广泛应用于企业级应用的开发中。Spring框架的核心原理是基于控制反转(IOC)和...

    spring源码, 可以很好的学习spring源码, 对spring更深入理解

    4. 探索数据访问:研究JdbcTemplate和JPA的实现,理解Spring如何简化数据库操作。 5. 学习Spring Boot和Spring Cloud:分析自动配置原理,理解微服务架构的设计思路。 总之,通过深入学习Spring源码,开发者不仅...

    WebService CXF Spring Hibernate

    本教程将深入探讨如何将`WebService`(基于SOAP协议的服务)与Java开发中的两大支柱——`Spring`框架和`Hibernate`ORM工具进行整合,同时使用`MySQL`作为数据库。这个集成项目是一个简单的示例,旨在帮助开发者了解...

    Struts1.2+Spring2.5+Hibernate3.2框架搭建(一)

    在Spring2.5中,我们可以利用Spring的HibernateTemplate或JdbcTemplate来透明化数据库访问,减少SQL的编写工作,同时利用事务管理功能确保数据的一致性。 将这三个框架整合起来,通常的步骤如下: 1. 配置Struts:...

    spring3_hibernate3结合包

    标题 "spring3_hibernate3结合包" 涉及的是两个关键的Java开发框架——Spring 3和Hibernate 3的整合应用。Spring是一个全面的、模块化的应用框架,支持依赖注入(DI)、面向切面编程(AOP)以及用于简化企业级应用...

    SpringBootDemo

    本篇将深入探讨如何利用Spring Boot构建一个基于RESTful API的项目,同时结合MyBatis和MySQL数据库,实现一个完整的数据操作示例——SpringBootDemo。 一、Spring Boot基础知识 Spring Boot是由Pivotal团队提供的...

Global site tag (gtag.js) - Google Analytics