- 浏览: 2473344 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
使用ibatis操作数据库的时候, 如果这个操作需要一些参数, 一般我们会使用map将这些参数封装起来, 然后调用SqlMapClient或者SqlMapClientTemplate的update, insert, queryForXxx方法. 每次构造这个map, 重复性的东东比较多, 于是改进了一下. 在基类DAO中构建了一个内部类:
然后在基类中加一个createParameter()方法用来给子类调用, 添加key-value的参数:
具体使用:
如果是原来的话, 需要这样写:
其实也没什么, 只是有时候我这个人比较懒, 少打了几个字而已.
如果我要加多个参数就会显的有点难看,再可读性不好!
/** * 用来封装多个参数, 并实现连接操作 * */ protected static class Parameter extends HashMap<String, Object> { private static final long serialVersionUID = -1756000414146772526L; public Parameter addParameter(String key, Object value) { this.put(key, value); return this; } }
然后在基类中加一个createParameter()方法用来给子类调用, 添加key-value的参数:
/** * 用于支持连写 * @param key * @param value * @return */ protected static Parameter createParameter(String key, Object value) { return new Parameter().addParameter(key, value); }
具体使用:
public int update(String id, int quantity) throws DAOException { Parameter parameter = createParameter("id", id) .addParameter("quantity", quantity); return executeUpdate(getSqlId("update"), parameter); }
如果是原来的话, 需要这样写:
public int update(String id, int quantity) throws DAOException { Map<String, Object> parameter = new HashMap<String, Object>(); parameter.put("id", id); parameter.put("quantity", quantity); return executeUpdate(getSqlId("update"), parameter); }
其实也没什么, 只是有时候我这个人比较懒, 少打了几个字而已.
评论
2 楼
macrochen
2009-10-31
是的, 可读性需要结合合适的排版
如果我要加多个参数就会显的有点难看,再可读性不好!
引用
如果我要加多个参数就会显的有点难看,再可读性不好!
Parameter parameter = createParameter("id", id) .addParameter("a", a) .addParameter("b", b) .addParameter("c", c); return executeUpdate(getSqlId("update"), parameter);
1 楼
pan_java
2009-10-30
public int update(String id, int quantity) throws DAOException { Parameter parameter = addParameter("id", id) .addParameter("quantity", quantity); return executeUpdate(getSqlId("update"), parameter); }
如果我要加多个参数就会显的有点难看,再可读性不好!
发表评论
-
使用Externalization更高效的实现java对象序列化
2012-04-04 22:38 3152Externalization没用过, 它通过牺牲默认序列化的 ... -
关于java的检查异常和非检查异常
2012-04-04 21:31 4980这里有一个关于java的检查异常和非检查异常的观点, 我比较赞 ... -
使用ThreadLocal保证DateFormat线程安全
2012-04-03 06:45 3606大家都知道DateFormat是线程非安全的, 一般在多线程环 ... -
使用枚举实现一个状态机
2012-04-02 23:14 3945非常巧妙的一个使用枚举的例子.原文见这里 interface ... -
一个同步队列例子
2012-04-02 21:35 1578这个用的也比较少, 做一个参考, 原文见这里 private ... -
一个读写锁的例子
2012-04-02 21:20 1534用的比较少, 做一个参考. 原文在这里 public clas ... -
如何计算一个合适的线程池大小参数
2012-04-02 20:57 9072原文在这里 下面是一个计算的框架代码: /** * A ... -
正确使用日志的10个技巧
2012-02-11 21:13 28861做一个苦逼的Java攻城师, 我们除了关心系统的架构这种hig ... -
Java编程最差实践
2012-02-04 17:54 26671原文地址:http://www.odi.ch/prog/des ... -
利用jOOR简化Java 反射使用
2012-01-15 20:39 5159原文:http://lukaseder.wordpress.c ... -
《Java Performance》书评
2012-01-15 18:32 2967原文: http://java.dzone.com/rev ... -
《细说Java》读书笔记
2011-10-05 15:01 1998国人写的, 感觉是一 ... -
《Java开发超级工具集》读书笔记
2011-09-28 08:59 2102"工欲善其事必先利其器", 在平时的开发 ... -
《effective java》 读书笔记
2011-07-02 14:52 7608读第一版已经是好几年前的事儿了, 现在想起来也没什么印象, ... -
用java实现"awk -d"功能(保留多行重复)
2010-06-07 21:48 3078一般用过linux脚本的都知道"awk -d&quo ... -
关于方法返回值的两种处理模式
2010-05-13 09:06 2035目前在处理返回值方面, ... -
JVM调优汇总
2010-02-21 19:18 14419参考网址 http://pengjiaheng.spaces. ... -
log4j的输出转换模式
2009-12-12 10:02 1280转换模式(conversion pattern)为" ... -
java正则表达式用法举例
2009-12-08 11:27 4523java正则表达式真难用啊, 这里整理一个java正则表达式用 ... -
Ibatis TypeHandler使用总结
2009-11-25 19:33 16554ibatis中有一个TypeHandler(准确的说应该是Ty ...
相关推荐
标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用...
- 定义一个JavaBean类,包含所有需要传递的参数。 - 在SQL映射文件中指定该JavaBean作为参数类。 **示例代码:** 假设定义了一个名为`User`的JavaBean,其中包含`uid`和`pwd`两个字段。 **SQL映射文件:** ```...
通过对给定的iBATIS实例小程序的分析,我们可以了解到iBATIS框架的基本用法,包括SQL映射文件的结构、参数绑定以及结果映射等方面的知识点。这对于理解和应用iBATIS进行数据库操作具有重要意义。通过掌握这些知识点...
在Ibatis中,参数可以通过`#`或`$`符号传递。例如,`select * from PRODUCT where PRD_CAT_ID = #{value}`中的`#{value}`是预编译参数,能有效防止SQL注入。 总结,Ibatis提供了灵活的SQL映射机制,使得开发人员...
iBatis是一个轻量级的Java持久层框架,它的核心理念是将SQL语句与Java代码分离,使得开发者可以更加灵活地控制SQL的执行。...实践是检验真理的唯一标准,希望这个小项目能帮助你在实际操作中更好地掌握iBatis这一利器。
这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握Ibatis的核心功能和基本用法。 Ibatis的主要特点包括: 1. **XML配置文件**:Ibatis通过XML配置文件来定义SQL语句、参数映射和结果映射,使得SQL与Java代码...
5. **参数映射**:Ibatis支持多种方式传递参数,如Map、POJO对象、注解等。例如,使用`@Param`注解可以指定参数名,或者在XML中使用`#{paramName}`来引用参数。 6. **结果映射**:结果映射允许我们将查询结果自动...
本主题将深入探讨如何在Ibatis中使用存储过程,特别是涉及带有输出参数的存储过程。 Ibatis,由MyBatis的前身发展而来,它是一个轻量级的ORM(对象关系映射)框架,允许开发者编写SQL语句并与Java对象进行绑定,而...
`org.apache.ibatis.executor.parameter.ParameterHandler`实现了这个功能,它根据传递的参数对象,动态地设置SQL的参数。 七、插件机制 iBatis的插件机制允许用户自定义拦截器,实现对Executor、StatementHandler...
在iBatis中,输入输出参数类型的支持非常丰富,几乎涵盖了Java中常见的所有基本数据类型及其封装类,同时也支持自定义JavaBean类型的传递。这使得开发者在处理数据库操作时具有很高的灵活性。 - **基本数据类型**: ...
ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西
【标题】:“ibatis的一个小例子” 在Java Web开发领域,Ibatis(现已被更名为MyBatis)是一款广泛使用的持久层框架。它提供了一个灵活的SQL映射框架,使开发者可以将SQL语句与Java代码分离,从而实现数据访问层的...
3. **ParameterMap**和**ParameterValuePair**:用于传递SQL查询参数。ParameterMap定义了参数和它们的映射关系,ParameterValuePair则是单个参数值对。 4. **ResultMap**:定义了结果集如何映射到Java对象,支持...
- **使用映射语句**:掌握如何定义和使用SQL映射语句,包括参数传递、结果映射等关键概念。 - **非查询语句执行**:学习如何执行INSERT、UPDATE和DELETE等非查询类型的SQL语句。 - **高级查询技术**:探索更复杂的...
2.3 参数绑定:调用 SqlSession 的方法时,传入参数对象或 Map,Ibatis 会自动将参数映射到 SQL 语句中。 2.4 结果处理:查询操作返回的结果会被自动映射到 Java 对象,更新操作返回受影响的行数。 **3. 动态 SQL*...
同时,它还支持简单类型、复杂类型(如Map或自定义对象)的参数传递。 3. 结果映射:通过`<resultMap>`标签,可以定义如何将查询结果映射到Java对象,包括一对一、一对多、多对一、自定义类型转换等多种映射方式。...
iBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。iBatis可以被看作是一个半自动化 ORM(对象关系映射)框架,它对JDBC的操作进行了封装,使得开发者能够将注意力集中在SQL语句上,而不需要处理大量的...
Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作,极大地提高了开发效率。在本教程中,我们将通过一个简单的Ibatis入门例子,带你逐步了解并掌握这个强大的框架。 首先,我们需要在项目中引入...
`User.SelectUser`对应了前面提到的SQL查询ID,`userId`是传递给SQL查询的参数。 总结起来,这个例子向我们展示了如何在.NET项目中设置iBATIS,创建SQL映射文件,以及如何在业务代码中调用iBATIS执行SQL查询并将...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...