原型参数
|
<select id="select1" parameterClass="java.lang.String"resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
sqlMapper.queryForObject("select0", id);
|
Map类参数
|
<select id="select2" parameterClass="java.util.HashMap"resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
map.put("id", id);
AppLog log = (AppLog) sqlMapper.queryForObject("select0", map);
|
对象参数
|
<select id="select3" parameterClass="AppLog"resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
AppLog p=new AppLog();
p.setId(id);
AppLog log = (AppLog) sqlMapper.queryForObject("select3", p);
|
<select id="select0" resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
|
Map参数
|
map.put("id", id);
AppLog log = (AppLog) sqlMapper.queryForObject("select0", map);
|
String参数
|
AppLog log = (AppLog) sqlMapper.queryForObject("select0", id);
|
对象参数
|
AppLog p=new AppLog();
p.setId(id);
AppLog log = (AppLog) sqlMapper.queryForObject("select0", p);
|
动态字段、表
|
<select id="selectd" resultClass="java.util.HashMap" parameterClass="java.util.HashMap" remapResults="true">
select $fieldList$
from $table$
where ID = #id#
</select>
|
Map p = new HashMap();
p.put("id", id);
p.put("table","APP_LOG");
p.put("fieldList", "ID,TYPE,DESCR");
Map map = (Map) sqlMapper.queryForObject("selectd", p);
String id1 = (String) map.get("ID");
String type = (String) map.get("TYPE");
String descr = (String) map.get("DESCR");
|
参数映射方式
<parameterMap>字段映射方式
|
<parameterMap id=”insert-product-param” class=”com.domain.Product”>
<parameter property=”id”/>
<parameter property=”description”/>
</parameterMap>
<insert id=”insertProduct” parameterMap=”insert-product-param”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION) values (?,?)
</insert>
|
<parameterMap id=”insert-product-param” class=”com.domain.Product”>
<parameter property=”description” />
<parameter property=”id”/>
</parameterMap>
<insert id=”insertProduct” parameterMap=”insert-product-param”>
insert into PRODUCT (PRD_DESCRIPTION, PRD_ID) values (?,?)
</insert>
|
parameterMap中属性的顺序与SQL中参数的顺序对应
|
Inline Parameter Maps
|
<insert id=”insertProduct” parameterClass=”com.domain.Product”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)
values (#id#, #description#)
</insert>
|
<insert id=”insertProduct” parameterClass=”com.domain.Product”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)
values (#id:NUMERIC:-999999#, #description:VARCHAR:NO_ENTRY#)
</insert>
|
语法
|
#propertyName# - OR -
#propertyName:jdbcType# - OR -
#propertyName:jdbcType:nullValue#
|
高级语法
|
#propertyName,javaType=?,jdbcType=?,mode=?,nullValue=?,handler=?,numericScale=?#
|
<procedure id=“callProcedure” parameterClass=”com.mydomain.MyParameter”>
{call MyProcedure
(#parm1,jdbcType=INTEGER,mode=IN#, #parm2,jdbcType=INTEGER,mode=IN#,
#parm3,jdbcType=DECIMAL,mode=OUT,numericScale=2#)}
</procedure>
|
|
相关推荐
标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用...
#### 三、iBATIS参数绑定机制 在上述SQL语句中,可以看到`#acct#`和`#org#`这样的参数绑定方式。这种方式是iBATIS中常见的参数绑定方式之一,表示在执行SQL时,这些占位符会被实际的参数值所替换。 - **#{}**:预...
### ibatis多参数查询解析 #### 一、引言 在使用ibatis(现称为MyBatis)进行数据库操作时,经常会遇到需要处理多个输入参数的情况。然而,默认情况下ibatis只支持单个输入参数,这在实际开发中往往难以满足需求。...
`)作为参数占位符是一种常见的做法,尤其是在编程语言如Java中与数据库交互时。这种方式被称为预编译语句或参数化查询,它具有重要的安全性和性能优势。 ### SQL参数化查询的概念 参数化查询允许将变量值插入到SQL...
本主题将深入探讨如何在Ibatis中使用存储过程,特别是涉及带有输出参数的存储过程。 Ibatis,由MyBatis的前身发展而来,它是一个轻量级的ORM(对象关系映射)框架,允许开发者编写SQL语句并与Java对象进行绑定,而...
在Ibatis中,参数可以通过`#`或`$`符号传递。例如,`select * from PRODUCT where PRD_CAT_ID = #{value}`中的`#{value}`是预编译参数,能有效防止SQL注入。 总结,Ibatis提供了灵活的SQL映射机制,使得开发人员...
5. **参数映射**:Ibatis支持多种方式传递参数,如Map、POJO对象、注解等。例如,使用`@Param`注解可以指定参数名,或者在XML中使用`#{paramName}`来引用参数。 6. **结果映射**:结果映射允许我们将查询结果自动...
`org.apache.ibatis.executor.parameter.ParameterHandler`实现了这个功能,它根据传递的参数对象,动态地设置SQL的参数。 七、插件机制 iBatis的插件机制允许用户自定义拦截器,实现对Executor、StatementHandler...
### ibatis中输入输出各种类型的参数分析及#与$区别 #### iBatis简介与特点 iBatis作为一款轻量级的Java持久层框架,以其简洁、灵活的特点,在众多框架中占据一席之地。相较于知名的Hibernate框架,iBatis在实现上...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...
2.3 参数绑定:调用 SqlSession 的方法时,传入参数对象或 Map,Ibatis 会自动将参数映射到 SQL 语句中。 2.4 结果处理:查询操作返回的结果会被自动映射到 Java 对象,更新操作返回受影响的行数。 **3. 动态 SQL*...
**IBATIS API 帮助文档与IBATIS开发文档详解** IBATIS,一个由iBATIS公司开发的开源持久层框架,是Java世界中广泛使用的数据访问接口(DAO)工具。它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java...
此外,iBATIS还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...
Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作,极大地提高了开发效率。在本教程中,我们将通过一个简单的Ibatis入门例子,带你逐步了解并掌握这个强大的框架。 首先,我们需要在项目中引入...
2. 执行映射的Statement,iBATIS框架创建PreparedStatement,使用参数对象,执行SQL并从结果集中构建返回对象。 3. 返回结果,如果是更新操作,返回受影响的行数;如果是查询,返回单个对象或对象集合。 五、基础...
6. **参数映射**:iBATIS可以将Java方法的参数自动映射到SQL的参数,减少了代码量,提高了开发效率。 【标签】"ibatis jar java" 对于Java开发者来说,正确地引入iBATIS的jar包到项目中是至关重要的。在Java环境中...
iBatis并不鼓励直接复制SQL字符串到数据库管理系统(DBMS)进行执行,因为这样会丧失iBatis的一些核心优势,如参数绑定、动态SQL和结果映射等。在iBatis中,我们通常通过XML配置文件或者注解来定义SQL语句,并使用...
《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...
6. 参数映射和结果映射:Ibatis通过Map、POJO(Plain Old Java Object)等方式进行参数映射,将Java对象转换为SQL参数;结果映射则是将查询结果转换为Java对象,方便后续处理。 在实例中,你可以尝试以下几个步骤来...
通过定义Mapper,开发者可以指定具体的SQL语句、参数类型和返回值类型等。 ### 三、Ibatis3的配置与初始化 #### 1. **初始化过程** - **读取配置文件**:使用 `Resources.getResourceAsReader()` 方法读取配置...