`

Spring中JdbcTemplate中使用RowMapper

阅读更多
package com.cxl.demo.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import com.cxl.demo.entity.User;
public class UserDaoImpl {
	private JdbcTemplate jdbcTemplate;

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public List<User> getUserByName(String username) {
		String sql = "select * from t_user where username = ?";
		Object[] params = new Object[] { username };
		List<User> users = null;
		/**
		 * 使用接口实现类
		 */
		users = jdbcTemplate.query(sql, params, new UserRowMapper());
		/**
		 * 使用匿名内部类
		 * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类
		 * 省略了书写一个实现类
		 */
		users = jdbcTemplate.query(sql, params,
				new RowMapper<User>() {
					@Override
					public User mapRow(ResultSet rs, int rowNum) throws SQLException {
						User user = new User();
						user.setId(rs.getInt("id"));
						user.setUsername(rs.getString("username"));
						user.setPassword(rs.getString("password"));
						return user;
					}
				});
		return (users != null && users.size() > 0) ? users : null;
	}
	
	public class UserRowMapper implements RowMapper<User> {

		@Override
		public User mapRow(ResultSet rs, int rowNum) throws SQLException {
			User user = new User();
			user.setId(rs.getInt("id"));
			user.setUsername(rs.getString("username"));
			user.setPassword(rs.getString("password"));
			return user;
		}
		
	}
}

 

分享到:
评论

相关推荐

    利用spring的jdbcTemplate处理blob、clob

    spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。

    基于spring jdbc的上层封装,底层jdbc操作基于JdbcTemplate

    基于spring jdbc的上层封装,底层jdbc操作基于JdbcTemplate,支持MySql、SqlServer、Oracle数据库,强弱类型完美结合 1、mini-jdbc:针对spring jdbc的一些不方便的地方,做了一些封装,大小写不敏感,简化了日常的...

    spring.doc

    5.1.7 RowMapper的使用 107 拓展: 108 DataSource注入的三种方式: 108 5.1.8声明式事务管理 116 5.1.8.1Spring的事务管理器 117 5.1.8.2Spring事务的传播属性 117 5.1.8.3Spring事务的隔离级别 117 拓展: 118 5.1...

    Spring高级之注解驱动开发视频教程

    系统的学习Spring框架中各个部分,掌握Spring中一些高级特性的使用。 l Spring IoC n 设计模式-工厂模式 n 基础应用-入门案例 n 基础应用-常用注解使用场景介绍及入门 n 高级特性-自定义BeanNameGenerator n 高级...

    JavaEE的Spring JDBC与事务管理 实验

    (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。 public interface BookShopDao { //根据书号获取书的单价 //...

    rest风格+jdbctemplate的CRUD操作.rar

    ①查询所有员工列表:jdbcTemplate.query(sql, new RowMapper() {}回调函数的使用 ②添加员工:添加员工之前要先查询出所有部门,因此要先查询所有的部门列表,然后用POST请求添加员工,重定向回员工列表 ③删除员工...

    基于SpringJDBC的轻量级ORM框架sborm.zip

    2、基于spring jdbc的上层封装,底层jdbc操作基于JdbcTemplate,对于使用spring jdbc的人会有一点价值,比较简洁的封装可以节省很多重复劳动,具体节省多少可以看看example; 3、实现一套简单的ORM(直接使用...

    SPRING API 2.0.CHM

    JdbcTemplate JdbcTransactionObjectSupport JdbcUpdateAffectedIncorrectNumberOfRowsException JdbcUtils JdkDynamicAopProxy JdkRegexpMethodPointcut JdkVersion JdoAccessor JdoCallback ...

    fmgVen:配置Java ORM工具-开源

    fmgVen是配置Java ORM工具的约定。 fmgVen是重量级ORM工具的替代方法,在该工具中,映射需要配置,并且由于延迟加载而产生许多问题,等等。它无需明确的映射配置... 它是Spring JdbcTemplate / RowMapper的高级形式。

    red5连接池

    JdbcTemplate t = new JdbcTemplate((BasicDataSource) o); final List l = t.query("SELECT * FROM jt_employee", new RowMapper() { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { ...

Global site tag (gtag.js) - Google Analytics