Spring使用RowMapper将数据中的每一行封装成用户定义的类

1.dao

public interface MapperSelecteAllEmpDao {
    public List<Emp> all();
}

2.实现类

public class MapperAllEmpImpl extends JdbcDaoSupport implements
        MapperSelecteAllEmpDao {

    @Override
    public List<Emp> all() {
        String sql = "select * from emp";
        List<Emp> list = this.getJdbcTemplate().query(sql, new EmpRowMapper());
        return list;
    }
}

3.继承rowMapper接口,返回自定义类型

public class EmpRowMapper implements RowMapper<Emp> {

    @Override
    public Emp mapRow(ResultSet rs, int arg1) throws SQLException {
        Emp emp = new Emp();
        emp.setId(rs.getInt("id"));
        emp.setName(rs.getString("name"));
        emp.setAge(rs.getInt("age"));
        return emp;
    }
}

4.测试

@Test
    // Spring使用rowMapper查询表中所有记录
    public void rowMapperAll() {
        ApplicationContext ac = new ClassPathXmlApplicationContext(
                "applicationContext.xml");

        MapperSelecteAllEmpDao mapperSelectAll = (MapperSelecteAllEmpDao) ac
                .getBean("mapperAll");

        List<Emp> empList = mapperSelectAll.all();

        for (Emp emp : empList) {
            System.out.println(emp.getName());
        }
    }
时间: 2024-11-09 00:12:16

Spring使用RowMapper将数据中的每一行封装成用户定义的类的相关文章

谈谈Delphi中的类和对象:五、类是一种对数据和操作高度的封装机制;六、类是一种代码重用机制

五.类是一种对数据和操作高度的封装机制 1)数据封装 unit Unit2; interface type TEmployee = class; private FName: String; public Constructor Create; function GetName: String; procedure SetName(AName: String); end; implementation constructor TEmployee.Create; begin FName:= 'Xu

vue + elementui 中的弹窗组件封装成公共组件

如果一个弹窗比较简单,可以直接放在页面中,通过visible属性的true,false控制显示隐藏就可以了,我们今天要说的是将个比较复杂的弹窗组件封装成全局组件,然后可以在项目中的任何一个页面引用~~下面走起 1.首先要注册个全局组件,用下面的全局API  Vue.component('my-component', { /* ... */ }) 在js文件中首先引入这个弹窗组件,组件名称是iesPersonRadioDialog,项目中会引入一个js文件,这个js文件中在分别引入其他的js,模块

如何将一个文本中的最后一行转化成第一行

问题: 两个文件   1.txt和2.txt 1.txt的内容是:aa  1   2 bb  2   3 cc   3   4 2.txt aa   2   1 bb   8   2 cc    4   4 dd   5   5 join  1.txt   2.txt的输出是:aa  1  2  2  1 bb  2  3  8  2 cc   3  4  4  4 我如果现在想把cc  3  4  4  4提到第一行,即变成这样:cc   3   4   4   4 aa   1   2   

Spring jdbcTemplate RowMapper绑定任意对象

RowMapper可以将数据中的每一行封装成用户定义的类,在数据库查询中,如果返回的类型是用户自定义的类型则需要包装,如果是Java自定义的类型,如:String则不需要,Spring最新的类SimpleJdbcTemplate使用更加简单了.下面这个实例说明了如何使用RowMapp,从网上下载的代码,还行能说明问题.在使用过程中我们可以将内部类做成POJO的外部类,只要实现RowMapper接口即可.如果用户想让ApplicationContext进行定义还是要谨慎.毕竟实现RowMapper

关于Spring MVC 3.1.x中如何替换数据Converter的问题

参考的原文 http://www.cnblogs.com/yangzhilong/p/3725849.html 要解决的问题 Web API的开发中,经常需要对HTTP中的request body中的数据流绑定到自建Model中,或者将自建Model反序列化到Response Body中.这时候就需要用到这些Converter.而这些默认配置下的Converter可能得不到你想要的结果. 如何解决 这里仅对Json相关的转换做出说明.由于Spring默认使用的是jackson,而jackson的

Spring整合Redis做数据缓存(Windows环境)

当我们一个项目的数据量很大的时候,就需要做一些缓存机制来减轻数据库的压力,提升应用程序的性能,对于java项目来说,最常用的缓存组件有Redis.Ehcache和Memcached. Ehcache是用java开发的缓存组件,和java结合良好,直接在jvm虚拟机中运行,不需要额外安装什么东西,效率也很高:但是由于和java结合的太紧密了,导致缓存共享麻烦,分布式集群应用不方便,所以比较适合单个部署的应用. Redis需要额外单独安装,是通过socket访问到缓存服务,效率比Ehcache低,但

BOS项目 第10天(activiti工作流第二天,流程变量、组任务、排他网关、spring整合activiti、项目中实现流程定义管理)

BOS项目笔记 第10天 今天内容安排: 1.流程变量(设置.获取) 2.组任务(候选人.候选组) 3.排他网关使用 4.spring整合activiti 5.将activiti应用到bos项目中 6.在bos项目中实现流程定义管理(部署.查询.查看png.删除) 1. 流程变量 1.1 设置流程变量的方式 l 方式一:启动流程实例时设置 l 方式二:办理任务时设置 l 方式三:使用RuntimeService的set方法设置 l 方式四:使用TaskService的set方法设置 注意:如果设

玩转SSH之Spring(一)---关于Srping框架中使用@query注解实现复杂查询

在Spring框架中,关于从数据表获取数据有不同的方法,当数据查询比较简单时,可以通过继承JpaRepository<T, L> 使用findBy***方法,通过分析方法名来实现查询,T表示要查询的数据表所对应的实体,L表示该实体主键的类型,比如Long.关于findBy方法如何通过分析方法名来实现查询,网上资料很多,不做赘述. 如果查询的数据比较复杂,查询条件比较复杂时,可以考虑使用JPA的@query方法来实现查询.关于使用方法,下面做简单介绍: 1.首先Dao层需继承Repository

Spring MVC3返回JSON数据中文乱码问题解决

Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jackson JSON版本:2.1.3 解决思路:Controller的方法中直接通过response向网络流写入String类型的json数据. 使用 Jackson 的 ObjectMapper 将Java对象转换为String类型的JSON数据. 为了避免中文乱码,需要设置字符编码格式,例如:UTF