`
hanbin51987
  • 浏览: 47182 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

ibatis 动态语句拼写心得

    博客分类:
  • java
阅读更多

 项目中用到了ibatis。看了很多篇在XML 里动态编写sql 的文章!

 我突然有了疑问,在一个statement 中可以包含多个 dynamic 子标签么?

 于是 试验了一把,嘿嘿 果然能行~~

dynamic 标签的作用是  可以自动添加或者移除 在SQL语句中 多余的表单符号 不用再担心 少了逗号,and 连接符号之类的

 贴代码。。。(前提是你要理解dynamic 动态标签的基本作用)

 下面代码 是一段插入数据 片段  我所要说的是只要数据库字段没有强制的 “不许为空”的话 都可以这样写,这样加大了 灵活性,只要设置作为参数的对象 sheetState 的任何一个或者N个属性 都成。可以进行动态的插入 ,也不用再担心SQL 语句会因为少写插入字段出错的问题。

  当然如果表字段多的话 我还是不建议使用这样写~~  因为每个字段都要去写入判断标签内的,会很长很长。

  但虽然麻烦,但只要写完一个,以后的所有关于此表的添加 都可以这样通用了。

 

 

<statement id="addSheetState" parameterClass="sheetState" resultClass="Integer">
		INSERT INTO
		<dynamic prepend="EOMS_SHEETSTATE" open="(" close=")">
		 <isNotEmpty prepend="," property="v_parachsheetid">
		 	V_PARACHSHEETID
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_sheetno">
		 	V_SHEETNO
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_sheetstatus">
		 	V_SHEETSTATUS
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="dtm_statustime">
		 	DTM_STATUSTIME
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_people">
		 	V_PEOPLE
		 </isNotEmpty>
		<dynamic open="(" close=")" prepend="VALUES">
		 <isNotEmpty prepend="," property="v_parachsheetid">
		 	#v_parachsheetid#
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_sheetno">
		 	#v_sheetno#
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_sheetstatus">
		 	#v_sheetstatus#
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="dtm_statustime">
		 	#dtm_statustime#
		 </isNotEmpty>
		 <isNotEmpty prepend="," property="v_people">
		 	#v_people#
		 </isNotEmpty>
				</dynamic>
	</statement>

 

这是测试时调用的代码

   

 Eoms_SheetState sheetstate=new Eoms_SheetState();
 sheetstate.setV_parachsheetid("testid");
 sheetstate.setDtm_statustime("2010-11-13 11:31:21");		  
 sheetstatedao.addSheetState(sheetstate);

 

   

  

分享到:
评论

相关推荐

    动态ibatis查询语句配置

    首先,我们需要理解Ibatis动态SQL的基本概念。在Ibatis的XML映射文件中,我们可以通过条件标签来构建动态SQL。这些标签包括`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;set&gt;`, `&lt;foreach&gt;`等。它们...

    iBatis的动态SQL语句

    ### iBatis中的动态SQL语句详解 #### 引言 在进行数据库操作时,我们经常需要根据不同的条件构建不同的SQL语句。这种需求在实际开发中极为常见,尤其是在处理复杂的查询逻辑时。iBatis(现在通常被称为MyBatis)...

    IBATIS动态查询语句.doc

    本文将深入探讨IBATIS动态查询语句的运用,解析其背后的逻辑与机制,以及如何利用这些特性来增强查询的灵活性与安全性。 ### IBATIS动态查询基础 IBATIS,现在更广为人知的名字为MyBatis,是一种半自动映射的持久...

    ibatis动态SQL标签用法

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

    ibatis常用sql语句

    标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 iBatis是一个基于Java的持久层框架,提供了一个简洁的方式来访问和操作数据库。在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、...

    ibatis sql 语句的编写

    ibatis还支持动态SQL,允许根据不同的条件生成不同的SQL语句,这对于复杂的查询非常有用。 ##### 4.1 `if`标签 ```xml SELECT * FROM USERS != null"&gt; AND name = #{name} ``` 这里使用`&lt;if&gt;`标签来...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis UPDATE 动态XML与insert

    标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    ibatis_动态查询条件

    iBatis 是一个基于 Java 的持久层框架,它提供了动态查询条件的功能,可以根据不同的条件生成不同的 SQL 语句。在 iBatis 中,动态查询条件是通过 `&lt;dynamic&gt;` 元素来实现的,该元素可以根据参数的值来生成不同的 ...

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

    iBatis 的核心功能包括 SQL 映射、动态 SQL 生成等,它通过配置文件或者注解的形式来实现 SQL 语句与 Java 代码之间的映射关系。 #### 二、多表查询概述 在实际应用中,经常需要从多个表中获取数据,这被称为多表...

    ibatis sql语句对条件中特殊字符% # 处理

    在ibatis框架中,开发者经常需要根据用户的输入来动态构建SQL查询语句。例如,在实现模糊查询功能时,用户的搜索关键词可能包含SQL中的特殊字符,比如`%`、`_`等。如果不做任何处理,这些特殊字符将会被SQL引擎视为...

    ibatis查询语句配对.doc

    ### ibatis查询语句配对知识点详解 #### 一、ibatis简介 ibatis(现称为MyBatis)是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。...

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    在使用iBatis(现为MyBatis)作为持久层框架进行开发时,有时我们需要调试SQL语句,以便查看执行的SQL、优化性能或者解决查询问题。本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库...

    Ibatis复杂查询语句.doc

    总结起来,这个Ibatis查询语句充分展示了Ibatis处理复杂查询的能力,包括动态SQL、子查询、多表联接、条件判断、数据类型映射和迭代处理等功能。在实际开发中,这种灵活性使得Ibatis能够适应各种复杂的业务场景,...

    ibatis动态多条件组合查询

    ibatis动态多条件组合查询 实例 说明

    iBATIS动态标签

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

    ibatis出错调试心得

    - **动态SQL元素**:iBatis支持使用动态SQL来构建复杂的查询条件。例如,可以使用`&lt;isNotEmpty&gt;`元素来根据条件添加`ORDER BY`子句。 ```xml ORDER BY #orderField# ``` - **自定义SQL片段**:通过`...

Global site tag (gtag.js) - Google Analytics