Teambiz中三种特殊RowMapper的使用

作者:何杨

撰写日期:2012年2月25日

版本:1.00

更新日期:

第一部分:功能说明

针对特殊目的的查询,TeamBiz提供了一系列的RowMapper类以减轻程序员的劳动。

第二部分:核心组件 名称 路径 说明

IntegerRowMapper teambiz\src\com\ibm\heyang\dao\rowmapper\IntegerRowMapper.java 只需进行数量查询时,如select count(*) from tb,明确只会返回一行一列,这时建议使用这个类。

StringRowMapper teambiz\src\com\ibm\heyang\dao\rowmapper\StringRowMapper.java 当只查询一列时,如select a from table,建议使用这个类。

UserRowMapper eambiz\src\com\ibm\heyang\dao\rowmapper\UserRowMapper.java 当需要从JDBCTemplate查询到的链表中取出对象时,建议仿照这个类制作自己的RowMapper类

第三部分:各种RowMapper类的具体使用

1. IntegerRowMapper。

StringBuilder sb=new StringBuilder();

sb.append("    select ");

sb.append("        count(*) as recordcount");

sb.append("    from teambiz_menu");

String sql=sb.toString();

List> ls=this.getJdbcTemplate().query(sql, new IntegerRowMapper());

Integer count=(Integer)(ls.get(0));

以上代码路径:teambiz\src\com\ibm\heyang\dao\MenuDao.java中isNoMenu函数。

2. StringRowMapper

StringBuilder sb=new StringBuilder();

sb.append("    select");

sb.append("        t01.group_name");

sb.append("    from");

sb.append("        sys_group");

sb.append("        t01,");

sb.append("        sys_user");

sb.append("        t02");

sb.append("    where");

sb.append("        t01.groupid=t02.groupid");

sb.append("        and");

sb.append("        t02.userid="+userid+"");

String sql=sb.toString();

// 查询

List> ls = this.getJdbcTemplate().query(sql,new StringRowMapper());

最后得到的ls就是一个包含字符串元素的链表,要取值对其进行遍历即可。

3. UserRowMapper的使用示例

StringBuilder sb=new StringBuilder();

sb.append("    select ");

sb.append("          ID, ");

sb.append("          name, ");

sb.append("          email, ");

sb.append("          pswd, ");

sb.append("          groupName, ");

sb.append("          companyName,");

sb.append("          level");

sb.append("    from teambiz_user");

sb.append("    where name='"+name+"' and ");

sb.append("          pswd='"+pswd+"' ");

String sql=sb.toString();

List> ls = this.getJdbcTemplate().query(sql, (new UserRowMapper()));

if(ls.size()==1){

return (User)ls.get(0);

}else{

throw new Exception("用户名或密码错误!");

}

以上代码路径:teambiz\src\com\ibm\heyang\dao\UserDao.java中的getUserByNamePswd函数。

第四部分:小结

对数据库进行各种查询是程序员的常见任务之一,如果能适当运用以上类,能减少代码的重复程度及减轻他们的劳动强度。

java rowmapper 通用实现_06.Teambiz中三种特殊RowMapper的使用相关推荐

  1. 在java中三种编程思想(OOA,OOD,OOP)

    在java中三种编程思想:OOA,OOD,OOP OOA 一.OOA的主要原则. 二.面向对象分析产生三种分析模型 三.OOA的主要优点 四.OOA方法的基本步骤 OOD 一.OOD背景知识 二.OO ...

  2. java 分页 通用Mapper,在Spring4中使用通用Mapper

    1.在Spring4中使用通用Mapper Spring4增加了对泛型注入的支持,这个特性对通用Mapper来说,非常的有用,可以说有了这个特性,可以直接在Service中写Mapper mapper ...

  3. 简单介绍Lua中三种循环语句的使用

    今天小编就为大家分享一篇关于Lua中三种循环语句的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Lua的循环和C语言的循环的语法其实差不多,所以, ...

  4. Redis中三种特殊数据类型

    本文来说下Redis中三种特殊数据类型 文章目录 Gerspatial地理位置 Hyperloglog基数统计 Bitmap位图 Gerspatial地理位置 一共 6 个命令: GEOADD GEO ...

  5. tomcat中三种部署项目的方法(转)

    tomcat中三种部署项目的方法 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:  <Context path="/h ...

  6. java浮点数化为整数_[Java教程]javascript浮点数转换成整数三种方法

    [Java教程]javascript浮点数转换成整数三种方法 0 2014-06-24 04:00:27 将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如 ...

  7. Java:简述对象转换为字符串的三种方式

    Java:简述对象转换为字符串的三种方式 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 一.(String)强制类型转换 使用 ...

  8. Java实现监听文件变化的三种方法,推荐第三种

    背景 在研究规则引擎时,如果规则以文件的形式存储,那么就需要监听指定的目录或文件来感知规则是否变化,进而进行加载.当然,在其他业务场景下,比如想实现配置文件的动态加载.日志文件的监听.FTP文件变动监 ...

  9. Java多线程:多线程同步安全问题的 “三“ 种处理方式 ||多线程 ”死锁“ 的避免 || 单例模式”懒汉式“的线程同步安全问题

    Java多线程:多线程同步安全问题的 "三" 种处理方式 ||多线程 "死锁" 的避免 || 单例模式"懒汉式"的线程同步安全问题 每博一文 ...

最新文章

  1. wince系统改安卓系统_什么是实时操作系统(RTOS)
  2. 转:测试部工作不受重视怎么办?
  3. 微娱推客——青龙羊毛
  4. ListView 与 它里面的Item 点击滑动冲突
  5. System BIOS设置
  6. Spring Ioc (Inversion of Control)
  7. Java案例:两个线程交替执行
  8. 127.0.0.1 myz.php,附录 – 1.0升级到2.0注意事项 - GatewayWorker 2.x 3.x 手册
  9. 常用excel函数 vlookup,concatenate, 的使用
  10. Google Wave 的失败给现代实时协作办公的一个重大教训!
  11. 阿里开发者们的第15个感悟:做一款优秀大数据引擎,要找准重点解决的业务场景... 1
  12. 常用cmd操作Redis的命令
  13. python 绘图英文字体_Matplotlib 中英文及公式字体设置
  14. SQL SERVER 取得某月第一天
  15. BDB 入门篇 第6章 A DPL Example一个DPL 例子
  16. 皮外骨伤科病题库【1】
  17. 人工智能的快速发展,对我们的不利影响有哪些?
  18. 锐角三角函数怎么用计算机算,锐角三角函数:运用计算器
  19. GoldWave V5.55 绿色汉化版_声音编辑
  20. 保研面试,考研复试-万能模板,一分钟到三分钟英语口语自我介绍。

热门文章

  1. 使用JS获取当前页面的URL(网址信息)
  2. VS2019中出现【Windows SDK】找不到 Windows SDK 版本10.0.18362.0的解决办法
  3. python读取文本两个数字的成语_【十分钟Python知识点】让文本数据更加生动——词云工具推荐...
  4. XAPP599-Vivado HLS的浮点设计
  5. HTML5 Canvas实现web画图之自由画笔
  6. Vue项目开发之北--环境大剑
  7. 关于Redis 启动命令
  8. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
  9. 循环嵌套案例——九九乘法表
  10. 大数据和「数据挖掘」是何关系?---来自知乎