Spring中JdbcTemplate中使用RowMapper

Spring中JdbcTemplate中使用RowMapper

博客分类:

Java代码  

  1. package com.cxl.demo.dao;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.util.List;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import org.springframework.jdbc.core.RowMapper;
  7. import com.cxl.demo.entity.User;
  8. public class UserDaoImpl {
  9. private JdbcTemplate jdbcTemplate;
  10. public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  11. this.jdbcTemplate = jdbcTemplate;
  12. }
  13. public List<User> getUserByName(String username) {
  14. String sql = "select * from t_user where username = ?";
  15. Object[] params = new Object[] { username };
  16. List<User> users = null;
  17. /**
  18. * 使用接口实现类
  19. */
  20. users = jdbcTemplate.query(sql, params, new UserRowMapper());
  21. /**
  22. * 使用匿名内部类
  23. * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类
  24. * 省略了书写一个实现类
  25. */
  26. users = jdbcTemplate.query(sql, params,
  27. new RowMapper<User>() {
  28. @Override
  29. public User mapRow(ResultSet rs, int rowNum) throws SQLException {
  30. User user = new User();
  31. user.setId(rs.getInt("id"));
  32. user.setUsername(rs.getString("username"));
  33. user.setPassword(rs.getString("password"));
  34. return user;
  35. }
  36. });
  37. return (users != null && users.size() > 0) ? users : null;
  38. }
  39. public class UserRowMapper implements RowMapper<User> {
  40. @Override
  41. public User mapRow(ResultSet rs, int rowNum) throws SQLException {
  42. User user = new User();
  43. user.setId(rs.getInt("id"));
  44. user.setUsername(rs.getString("username"));
  45. user.setPassword(rs.getString("password"));
  46. return user;
  47. }
  48. }
  49. }

原文地址:https://www.cnblogs.com/mybatis/p/8657663.html

时间: 2024-10-01 10:58:07

Spring中JdbcTemplate中使用RowMapper的相关文章

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的用法实例

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

Spring NamedParameterJdbcTemplate 详解 解决jdbcTemplate中 in 参数的问

自己的例子: List<String> l = new ArrayList<String>(); l.add("2549");l.add("2959"); NamedParameterJdbcTemplate namedParameterJdbcTemplate = null; //namedParameterJdbcTemplate = // new NamedParameterJdbcTemplate(dataSource); named

JdbcTemplate中queryForObject的EmptyResultDataAccessException问题

在使用Spring提供的JdbcTemplate中名为queryForObject API进行数据库查询时有时会抛出如下异常提示息,org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 或者 org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result

Spring JDBC 框架中, 绑定 SQL 参数的另一种选择:具名参数(named parameter)

使用spring的jdbcTemplate-----使用具名参数 在JDBC用法中,SQL参数是用占位符?表示,并且受到位置的限制,定位参数的问题在于,一旦参数的位置发生变化,必须改变参数的绑定,在Spring JDBC中,绑定SQL参数的另一种选择是使用具名参数,SQL具名参数是按照名称绑定,而不是位置绑定. 什么是具名参数? 具名参数: SQL 按名称(以冒号开头)而不是按位置进行指定. 具名参数更易于维护, 也提升了可读性. 具名参数由框架类在运行时用占位符取代 具名参数只在 NamedP

【夯实基础】Spring在ssh中的作用

尊重版权:http://blog.csdn.net/qjlsharp/archive/2009/03/21/4013255.aspx 写的真不错. 在SSH框假中spring充当了管理容器的角色.我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句.Struts是用来做应用层的,他它负责调用业务逻辑serivce层.所以SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)

控制反转和spring在项目中可以带来的好处

Spring实例化Bean的三种方式分别是: 1,xml配置使用bean的类构造器 <bean id="personService" class="cn.service.impl.PersonServiceBean"></bean> 2,xml配置+factory类,使用静态工厂方法实例化 <bean id="personService2" class="cn.service.impl.PersonServ

2017年9月3日 Spring及Mybatis中连接数据库的不同方式

连接数据库用spring和mybatis中使用的方法可以不同,mybaits可以不用写数据库的配置文件 Spring的连接方法 <!-- 读取属性文件(.properties)的内容 --> <!-- location:指定要读取的属性文件的位置及文件名. 注: classpath:表示依据类路径去查找 容器依据路径读取属性文件的内容, 并且将这些内容存放到Properties对象上 --> //数据库的登入数据文件 //文件名db.properties #db connectio

spring管理SessionFactory中XML配置

1. 综合练习目标 2. 综合练习需求 3.模块划分 1. 综合练习目标 <1>复习 Java 基本语法 <2>熟悉掌握Java开发常用API <3>尝试建立面向对象思想 2. 综合练习需求 <1>接收用户的命令行输入 <2>以文件为基础完成数据的增删改查操作          3.模块划分 UI模块:(Java存在文本中都是以字符型式) 数据验证模块:验证用户输入是否合法 spring管理SessionFactory中XML配置,布布扣,bub