论坛首页 Java企业应用论坛

jdbc通用查询通过map替代实体

浏览 8931 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-23  
HeDYn 写道
使用 dbutils,用 MapListHandler 得到的就是 List<Map<String, Object>>

公司的平台总不能说每个人想加就可以加jar包吧。呵呵。所以当时不得已就在已有的jdbc方式下加了自己的一个类而已。
不过我查了下,这个工具确实很实用与我们。以后在扩展公司平台的时候,可使用此工具。非常感谢。
0 请登录后投票
   发表时间:2012-12-01  
richer 写道
wangchengyong 写道
有个90%查询项目,用IBATIS
输入用Map,入参数多少都可以
输出定义返回成Map或者listMap,Map的key就为列名
剩下的就是写sql了,结合struts2,页面标签直接从listMap中获取数据展示

DAO
public List<Map<String, Object>> queryForList(Map map) {
return this.getSqlMapClientTemplate().queryForList(
map.get("statementName").toString(), map);
}

struts2 jsp
<ul class="clearfix">
<s:iterator value="listMap">
<li>
                    <s:property value="ID"/>:<s:property value="NAME"/>
</li>
</s:iterator>
</ul>

ibatis.xml
<select id="dataInfo" parameterClass="java.util.HashMap"
resultClass="java.util.HashMap">
select ID, NAME
  from TB_FACT_FAV
where id = #id#
</select>

1、不是所有的sql IBATIS 都可以解析的。起码我们遇到过ejb都无法解析的sql。所以在迫于时间的压力下,我们没有找其他更好的框架,选择了用jdbc来做查询。
2、公司都有自己成熟的一套东西了嘛。哪能说改就同意让你去改啊。公司平台中就提供了ejb和jdbc原生2种方式。不得已的情况下选择了jdbc原生的查询,所以做了上文中的扩展。

呵呵,我没把我们当时的处境描述清楚。失误失误。不过你说的这种方式确实很适用于我们这种情况。谢谢你的建议。


ejb解析sql?
请教一下ejb是怎么解析sql的,你们用的是实体bean?
我们系统里用的ejb都是无状态的回话bean,数据库访问都是直接用的jdbc执行sql。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics