`
crazycat03
  • 浏览: 175867 次
  • 性别: Icon_minigender_2
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

iBATIS非查询标签1

阅读更多

sqlmap里的 select标签是用来查询,今天说<insert>,<update>,<delete>标签,这三个基本只有输入没有输出

 

这三个标签有这样几个共同的属性,parameterClass,ParameterMap,id,参数类型,参数映射,ID

 

通过sqlMap API里的这三个方法来调用

public int insert(String statementName,
Object parameterObject)
throws SQLException
public int update(String statementName,
Object parameterObject)
throws SQLException
public int delete(String statementName,
Object parameterObject)
throws SQLException

 

 之前讲了结果的映射,内敛参数映射和外联参数映射,参数映射和结果映射类似

 

这里以insert标签来学习一下参数映射,另两个类似

自动参数映射



<insert id="insertUser" parameterClass="User">

  insert into user(username,password,department)

values(#username#,#password#,#department#)

</insert>

内敛参数映射
<insert id="insertUser2" parameterClass="User">

  insert into user(username,password,department)

values(#username:VARCHAR#,#password:VARCHAR#,#department:VARCHAR#)
</insert>
外联参数映射
<parameterMap  id="userMap" class="User">
		<parameter property="username" jdbcType="VARCHAR"/>
		<parameter property="password" jdbcType="VARCHAR"/>
		<parameter property="department" jdbcType="VARCHAR"/>
	</parameterMap>
	<insert id="insertUser3" parameterMap="userMap">
		INSERT INTO USER
		( 
			USERNAME, PASSWORD, DEPARTMENT
		)VALUES(
			?,?,? 
		)
	</insert>
注:它会自动按map定义好的顺序对应,代替占位符???
测试类的使用:

User user=new User();
   user.setUsername("zhangsan");
   user.setPassword("123");
   user.setDepaertment("Service");
   
   Integer returnValue=(Integer)sqlMap.insert("insertUser",user);

 建议用外联参数映射,以上三种映射同样适用于update,delete,select.

 

 

其他的标签,

1 <statement>,可以放置各类sql语句,举一个简单例子,它可以执行除那四类之外的其他语句

<statement>
 <statement id=“droptable”>
 DROP TABLE User CASCADE
 </statement>

  

sqlMap.update(“droptable”,null); api调用语句

 statement一般用的比较少,前四种就可以基本满足我们的需求,解决我们的问题

2 procedure 存储过程,也可以使用parameterMap属性,用call调用,与数据库有关,简单说一下

<parameterMap id="swapParameters" class="map" >
<parameter property="email1" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
<parameter property="email2" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
</parameterMap>
<procedure id="swapEmailAddresses" parameterMap="swapParameters" >
{call swap_email_address (?, ?)}
</procedure>

  

mode有三种,in ,out,inout

swap_email_address 是数据库里已经定义好的存储过程,直接调用传入参数就可以了

 

 

 

 

分享到:
评论

相关推荐

    ibatis动态SQL标签用法

    iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的...

    iBATIS动态标签

    iBATIS动态标签是SQL映射文件中的一种功能强大的特性,它允许在SQL语句中进行条件判断,根据传入的参数动态生成合适的查询条件。动态标签主要用于提高灵活性,使得SQL映射文件能够适应多种查询场景,而无需为每种...

    Ibatis复杂查询语句.doc

    在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...

    ibatis标签

    标题中的“ibatis标签”指的是在iBATIS框架中用于动态SQL的一个关键功能。iBATIS是一个优秀的持久层框架,它允许将SQL语句直接嵌入到Java代码中,简化了数据库操作。而`&lt;iterate&gt;`标签是iBATIS提供的一个便利的循环...

    iBatis条件查询

    对于"ACCP Y2"这个标签,它可能指的是某种特定的课程或认证体系,可能是在学习路径的第二阶段介绍了iBatis的使用。而"iBaits按条件查询及分页功能"进一步强调了这个资源关注的重点,即利用iBatis实现基于用户输入...

    ibatis 文档查询

    【标签】:iBATIS、查询、映射、对象关系 【正文】: iBATIS作为一个轻量级的持久层框架,它在处理数据库查询方面具有强大的灵活性和便利性。在《iBATIS In Action》一书中,作者详细介绍了如何使用iBATIS进行高级...

    动态ibatis查询语句配置

    动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...

    ibatis的动态查询

    **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` 的方式更为安全且易于实现。 - 正确的语法应为 `name ...

    ibatis 之分页

    1. **SQL映射分页**:在Ibatis的XML配置文件中,我们可以直接编写包含分页条件的SQL语句。例如,对于MySQL,可以写成: ```xml SELECT * FROM your_table WHERE some_condition LIMIT #{start}, #{limit} ``` ...

    ibatis and和or联合查询 .doc

    ### ibatis and和or联合查询知识点 #### 一、ibatis简介 ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀开源数据访问框架。ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或...

    iBatis执行非查询语句(CRUD,函数和过程)

    这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和删除(CRUD)操作,以及调用数据库存储过程和函数。 一、iBatis简介 iBatis最初由MyBatis的创始人Clinton ...

    ibatis多表查询过程

    在iBatis中,我们可以使用`&lt;select&gt;`标签来定义多表查询的SQL语句。 ### 3. 使用`&lt;include&gt;`标签 为了保持SQL语句的整洁和可重用性,可以使用`&lt;include&gt;`标签将公共部分的SQL语句提取出来。这样在多个查询中引用同...

    ibatis做连接查询 .doc

    注意,iBatis还支持动态SQL,这意味着你可以在XML配置文件中使用`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`等标签来根据条件动态构建SQL语句,这对于复杂的连接查询非常有用。 总的来说,iBatis提供了强大的SQL定制能力,使得...

    主子表查询ibatis

    1. **iBATIS主子表查询配置**: 在iBATIS的映射文件(XML配置文件)中,我们需要定义两个Mapper:一个是主表的Mapper,另一个是子表的Mapper。在主表的Mapper中,通过`&lt;resultMap&gt;`标签定义主表与子表的关系,使用`...

    ibatis总结 ibatis ibatis ibatis ibatis

    1. Ibatis SQL映射: Ibatis的主要特点是通过XML或注解定义SQL映射文件,将SQL语句与Java对象绑定。例如,`&lt;select&gt;`标签用于定义查询语句,`&lt;insert&gt;`、`&lt;update&gt;`和`&lt;delete&gt;`分别对应增删改操作。在SQL映射文件...

    Ibatis的简单例子(增删改查,联合查询等)

    在这个"Ibatis的简单例子"中,我们将探讨如何使用Ibatis进行数据库的增删改查(CRUD)操作以及联合查询。 1. **安装与配置**: 在开始之前,你需要在项目中添加Ibatis的依赖,通常是通过Maven或Gradle。在Maven的`...

    Ibatis查询语句里,可以使用多表查询

    1. **查询语句**:从 `MEMBER_POST`、`AUTH_USER` 和 `MEMBER_MEMBER_GROUP_REL` 三个表中选择数据。 2. **条件过滤**:通过 `&lt;dynamic&gt;` 标签实现了动态 SQL,根据传入的参数决定是否添加 WHERE 子句。 3. **排序**...

    IBatis完成单表基本的数据库操作 模糊查询

    标题 "IBatis完成单表基本的数据库操作 模糊查询" 涉及到的是使用iBatis这个轻量级的持久层框架进行数据库的基本操作,特别是模糊查询。iBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高...

    ibatis教程_查询指定id的单个对象

    在查询指定id的单个对象时,Ibatis提供了`&lt;select&gt;`标签,用于定义SQL查询。标签内可以设置id属性,对应Mapper接口中的方法名,resultType或resultMap属性则定义返回结果的类型或者映射关系。 ```xml SELECT * ...

    ibatis的多参数查询.doc

    ### ibatis多参数查询解析 #### 一、引言 在使用ibatis(现称为MyBatis)进行数据库操作时,经常会遇到需要处理多个输入参数的情况。然而,默认情况下ibatis只支持单个输入参数,这在实际开发中往往难以满足需求。...

Global site tag (gtag.js) - Google Analytics