Ibatis之3个不常用的Query方法
来源:互联网 发布:ps中文字体下载mac版 编辑:程序博客网 时间:2024/06/18 03:47
Ibatis之3个不常用的Query方法
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.queryForObject
- /**
- * Executes a mapped SQL SELECT statement that returns data to populate
- * the supplied result object.
- * <p/>
- * The parameter object is generally used to supply the input
- * data for the WHERE clause parameter(s) of the SELECT statement.
- *
- * @param id The name of the statement to execute.
- * @param parameterObject The parameter object (e.g. JavaBean, Map, XML etc.).
- * @param resultObject The result object instance that should be populated with result data.
- * @return The single result object as supplied by the resultObject parameter, populated with the result set data,
- * or null if no result was found
- * @throws java.sql.SQLException If more than one result was found, or if any other error occurs.
- */
- Object queryForObject(String id, Object parameterObject, Object resultObject) throws SQLException;
当查询对象是一个重量级对象、创建过程比较复杂时或者查询对象没有默认的构造方法时,通过该方法,可以在外部先构建好查询对象,然后传给Ibatis,Ibatis此时不会创建新对象,而是调用传入对象的set方法进行赋值。
2.queryForList
- /**
- * Executes a mapped SQL SELECT statement that returns data to populate
- * a number of result objects within a certain range.
- * <p/>
- * This overload assumes no parameter is needed.
- *
- * @param id The name of the statement to execute.
- * @param skip The number of results to ignore.
- * @param max The maximum number of results to return.
- * @return A List of result objects.
- * @throws java.sql.SQLException If an error occurs.
- */
- List queryForList(String id, int skip, int max) throws SQLException;
利用这个方法可以实现分页功能,如(skip=0,max=10)返回前10条数据,(skip=10,max=10)返回第10-20条数据,但这个方法的分页效率非常低,因为Ibatis是把所有的查询结果查询出来之后才进行筛选操作。数据量小的时候用用还可以,所以这个方法比较鸡肋。
3.queryForMap
- /**
- * Executes a mapped SQL SELECT statement that returns data to populate
- * a number of result objects that will be keyed into a Map.
- * <p/>
- * The parameter object is generally used to supply the input
- * data for the WHERE clause parameter(s) of the SELECT statement.
- *
- * @param id The name of the statement to execute.
- * @param parameterObject The parameter object (e.g. JavaBean, Map, XML etc.).
- * @param keyProp The property to be used as the key in the Map.
- * @return A Map keyed by keyProp with values being the result object instance.
- * @throws java.sql.SQLException If an error occurs.
- */
- Map queryForMap(String id, Object parameterObject, String keyProp) throws SQLException;
网上有不少帖子说这个方法只能返回一条记录是不对的,还有说是把resultClass的所有属性放到一个map中返回来也是不对的。这个方法是对queryForList的一个补充,大部分情况下我们用的都是queryForList返回对象的列表,但有时候放到Map里用起来可能更方便,如果没有这个方法还得自己进行转换,同样的一个<select ...>配置,不用做任何更改即可以用queryForList访问也可以用queryForMap访问。
0 0
- Ibatis之3个不常用的Query方法
- Ibatis之3个不常用的Query方法
- IBatis 的缓存机制之 Select Query缓存
- Unity3D之Animator的不常用方法
- MongoDB中Query的几个常用方法
- Hibernate中query的常用方法
- Criteria Query常用的查询限制方法
- Query常用的元素查找方法总结
- Hibernate中query的常用方法
- ibatis常用方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- Hibernate之Query接口的uniqueResult()方法
- 数据模型代码
- Android开发中将状态栏改变成透明颜色
- 11.View的基础知识
- 搭建适合IOS的HTTP Live Streaming直播系统
- 链表——将单链表从m到n的结点位置翻转
- Ibatis之3个不常用的Query方法
- Android 百度地图 SDK v3.0.0 (一)
- 拼图响应式前端框架版响应式后台
- ubuntu下安装程序的三种方法
- 自定义搜索功能
- ShortJson关于JSON的思考
- c++无法解析的外部符号
- svn冲突
- lua 随机数