`

ibatIS中sqlMap常用写法+ ibatIS中的模糊拼接

阅读更多

ibatIS中模糊查询,需要拼接sqlMap文件(即TDepartment.xml)

如下:

<select id="queryMap"  parameterClass="com.hanpeng.base.phone.model.TDepartment" 
	resultClass="java.util.HashMap">
	<include refid="paginationStart"/>
	SELECT
			 DEP_NUM  as depNum ,			
			 DEP_NAME  as depName ,			
			 DEP_INFO  as depInfo ,			
			CREATE_DATE  as createDate ,			
			 EMPLOYEE_ID  as employeeId ,			
			 STATE  as state 			
	FROM  T_DEPARTMENT 
	<dynamic prepend="WHERE">
			<isNotEmpty prepend=" AND " property="depNum">
			DEP_NUM =  #depNum# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depName">
			DEP_NAME like  '%'||#depName#||'%' 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depInfo">
			DEP_INFO =  #depInfo# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="createDate">
			CREATE_DATE = #createDate# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="employeeId">
			EMPLOYEE_ID =  #employeeId# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="state">
			STATE =  #state# 		</isNotEmpty>
		</dynamic>
	<include refid="paginationEnd"/>
</select>

 

 

 

==========================================================================================

 

常用sqlMap写法为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >


<sqlMap namespace="TDepartment">
	<select id="load" parameterClass="java.lang.String" 
	resultClass="com.hanpeng.base.phone.model.TDepartment">
		SELECT 
			DEP_NUM as depNum ,			
			DEP_NAME as depName ,			
			DEP_INFO as depInfo ,			
			CREATE_DATE as createDate ,			
			EMPLOYEE_ID as employeeId ,			
			STATE as state 			
		FROM T_DEPARTMENT
		WHERE
			DEP_NUM=#depNum# 	</select>
	
	<select id="queryModel"  parameterClass="com.hanpeng.base.phone.model.TDepartment" 
	resultClass="com.hanpeng.base.phone.model.TDepartment">
	SELECT
			 DEP_NUM  as depNum ,			
			 DEP_NAME  as depName ,			
			 DEP_INFO  as depInfo ,			
			CREATE_DATE  as createDate ,			
			 EMPLOYEE_ID  as employeeId ,			
			 STATE  as state 			
	FROM  T_DEPARTMENT 
	<dynamic prepend="WHERE">
			<isNotEmpty prepend=" AND " property="depNum">
			DEP_NUM =  #depNum# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depName">
			DEP_NAME =  #depName# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depInfo">
			DEP_INFO =  #depInfo# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="createDate">
			CREATE_DATE = #createDate# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="employeeId">
			EMPLOYEE_ID =  #employeeId# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="state">
			STATE =  #state# 		</isNotEmpty>
		</dynamic>
	</select>


<select id="queryMap"  parameterClass="com.hanpeng.base.phone.model.TDepartment" 
	resultClass="java.util.HashMap">
	<include refid="paginationStart"/>
	SELECT
			 DEP_NUM  as depNum ,			
			 DEP_NAME  as depName ,			
			 DEP_INFO  as depInfo ,			
			CREATE_DATE  as createDate ,			
			 EMPLOYEE_ID  as employeeId ,			
			 STATE  as state 			
	FROM  T_DEPARTMENT 
	<dynamic prepend="WHERE">
			<isNotEmpty prepend=" AND " property="depNum">
			DEP_NUM =  #depNum# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depName">
			DEP_NAME like  '%'||#depName#||'%' 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="depInfo">
			DEP_INFO =  #depInfo# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="createDate">
			CREATE_DATE = #createDate# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="employeeId">
			EMPLOYEE_ID =  #employeeId# 		</isNotEmpty>
			<isNotEmpty prepend=" AND " property="state">
			STATE =  #state# 		</isNotEmpty>
		</dynamic>
	<include refid="paginationEnd"/>
</select>



	<select id="count"  parameterClass="com.hanpeng.base.phone.model.TDepartment" 
	resultClass="java.lang.Integer">
		SELECT count(*) 
		FROM T_DEPARTMENT 
		<dynamic prepend="WHERE">
					<isNotEmpty prepend=" AND " property="depNum">
						DEP_NUM =  #depNum# 			</isNotEmpty>
					<isNotEmpty prepend=" AND " property="depName">
						DEP_NAME like  '%'||#depName#||'%' 	</isNotEmpty>
					<isNotEmpty prepend=" AND " property="depInfo">
						DEP_INFO =  #depInfo# 			</isNotEmpty>
					<isNotEmpty prepend=" AND " property="createDate">
						CREATE_DATE = #createDate# 			</isNotEmpty>
					<isNotEmpty prepend=" AND " property="employeeId">
						EMPLOYEE_ID =  #employeeId# 			</isNotEmpty>
					<isNotEmpty prepend=" AND " property="state">
						STATE =  #state# 			</isNotEmpty>
				</dynamic>
	</select>
		
	<insert id="insert" parameterClass="com.hanpeng.base.phone.model.TDepartment">
		INSERT INTO T_DEPARTMENT ( 
			DEP_NUM ,			
			DEP_NAME ,			
			DEP_INFO ,			
			CREATE_DATE ,			
			EMPLOYEE_ID ,			
			STATE 			
		) VALUES (
			#depNum:VARCHAR# ,				
			#depName:VARCHAR# ,				
			#depInfo:VARCHAR# ,				
			#createDate:DATE# ,				
			#employeeId:VARCHAR# ,				
			#state:VARCHAR# 				
		)
	</insert>

	<delete id="delete" parameterClass="com.hanpeng.base.phone.model.TDepartment">
		DELETE FROM T_DEPARTMENT
		WHERE
			DEP_NUM=#depNum# 				
	</delete>

	<update id="update" parameterClass="com.hanpeng.base.phone.model.TDepartment">
		UPDATE T_DEPARTMENT	
		SET
			<isNotNull prepend=" " property="depNum">
				DEP_NUM = #depNum# 
			</isNotNull>
			<isNotNull prepend="," property="depName">
				DEP_NAME = #depName# 
			</isNotNull>		
			<isNotNull prepend="," property="depInfo">
				DEP_INFO = #depInfo# 
			</isNotNull>		
			<isNotNull prepend="," property="createDate">
				CREATE_DATE = #createDate:DATE# 
			</isNotNull>		
			<isNotNull prepend="," property="employeeId">
				EMPLOYEE_ID = #employeeId# 
			</isNotNull>		
			<isNotNull prepend="," property="state">
				STATE = #state# 
			</isNotNull>		
		WHERE
			DEP_NUM=#depNum# 				
	</update>

</sqlMap>

 

分享到:
评论

相关推荐

    ibatis开发包(common+sqlmap+dao)

    这个开发包包含了Ibatis的核心组件,分别是`ibatis-common-2.jar`、`ibatis-sqlmap-2.jar`和`ibatis-dao-2.jar`。 1. **ibatis-common-2.jar**: 这个组件是Ibatis的基础工具包,包含了Ibatis运行时的一些通用类和...

    ibatis-sqlmap_2.3.4_2.jar两个版本的jar包

    1. 动态SQL:Ibatis-SqlMap支持在XML映射文件中编写动态SQL,使得SQL生成更加灵活。 2. 缓存机制:提供了一级缓存和二级缓存,能够提高数据访问效率。 3. 映射文件和Java代码分离:通过XML配置文件,将SQL逻辑和业务...

    ibatis-sqlmap-2.jar.zip

    总结,`ibatis-sqlmap-2.jar.zip`中的`ibatis-sqlmap-2.jar`是iBatis-SQLMap 2的核心库,它为开发者提供了强大的SQL操作和对象映射功能。通过理解并熟练运用iBatis-SQLMap 2,开发者可以构建出高效、灵活的数据库...

    ibatis-sqlmap-2.3.0中sqlmap支持通配符

    本篇文章将深入探讨Ibatis SqlMap在2.3.0版本中对通配符的支持,帮助开发者更好地理解和利用这一特性。 SqlMap是Ibatis的核心组件,它负责管理和执行SQL语句。在处理动态SQL时,有时我们需要在查询条件中使用通配符...

    ibatis-sqlmap-2.jar

    ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    首先,我们来看标题中的"ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat"。这部分信息表明我们正在探讨的是iBatis SQLMap的2.3.4.726版源码,其中"birth84v"和"cutting1v2"可能是特定的版本标识...

    ibatis-sqlMap相关参考

    【标题】:“Ibatis-SQLMap相关参考” 在IT领域,Ibatis是一个广泛使用的轻量级持久层框架,它提供了一种将SQL语句...通过以上知识点的学习,开发者能更好地掌握Ibatis-SQLMap的使用,并在实际项目中发挥出它的优势。

    ibatis的SqlMap辅助生成工具

    在IT行业中,数据库操作是日常开发中的重要环节,而Ibatis作为一款优秀的持久层框架,大大简化了Java应用与数据库的交互。Ibatis的SqlMap配置文件是其核心部分,用于定义SQL语句、参数映射和结果映射,但手动编写...

    ibatis 中sqlMap配置

    在 iBatis 框架中,SQLMap配置是整个应用程序的核心部分,占据了大部分的开发工作。下面将详细解析 iBatis 中SQLMap配置的关键知识点: 1. **命名空间(Namespace)**: 命名空间是iBatis配置中的一个重要概念,它...

    ibatis-sqlMap-入门教程(代码)

    【标题】"ibatis-sqlMap-入门教程(代码)" 涉及的知识点主要集中在使用MyBatis(原iBATIS)框架进行数据库操作的初步实践上。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎...

    iBatis_SqlMap的配置总结[1]

    SqlMap是iBatis的核心配置文件,用于定义数据库交互的各种操作。以下是关于iBatis_SqlMap配置的一些关键知识点: 1. **命名空间(Namespace)**: 命名空间是SqlMap配置中的一个重要概念,用于区分不同的SqlMap...

    ibatis-sqlMap

    ### ibatis-sqlMap:SQL语句映射指导 #### 引言 ibatis-sqlMap,也称为iBATIS DataMapper,是一个用于简化数据库访问的框架,它通过使用简单的XML描述符将Java对象映射到SQL语句上。本文档旨在提供一个全面的指南...

    ibatis_sqlMap的配置总结

    据估计,配置SqlMap的工作量可能占据整个iBatis开发工作的70%,这充分说明了其在iBatis项目中的核心地位。 #### 二、命名空间与元素引用 **命名空间**是iBatis配置文件中的一个重要概念,它用于区分不同的SQL映射...

    根据表生成ibatis的sqlMap文件

    4. **生成XML文件**:将构造好的SQL语句写入到XML文件中,形成iBatis的SQLMap文件。 5. **保存和整合**:将生成的SQLMap文件整合到项目中,确保与Java代码的对应关系正确。 通过这样的工具,开发者可以极大地减少...

    ibatis驱动+Mysql驱动+SQL驱动

    本文将详细讨论“ibatis驱动+Mysql驱动+SQL驱动”这个组合在软件开发中的应用及其重要性。 首先,让我们从Ibatis开始。Ibatis是一个优秀的持久层框架,它允许开发者将SQL语句直接集成到Java代码中,从而提供了比...

    ibatis sqlmap配置详解

    SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...

    ibatis-sqlmap-2.3.4.741-sources.zip_4 3 2 1_ibatis-sqlm_ibatis-s

    iBATIS SQLMap在这个版本中加强了对缓存的支持,意味着查询结果可以被存储在内存中,当相同查询再次执行时,可以直接从缓存中获取,避免了重复的数据库查询,减少了系统负载。 3. **读写分离**:在高并发环境下,...

Global site tag (gtag.js) - Google Analytics