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的核心组件,分别是`ibatis-common-2.jar`、`ibatis-sqlmap-2.jar`和`ibatis-dao-2.jar`。 1. **ibatis-common-2.jar**: 这个组件是Ibatis的基础工具包,包含了Ibatis运行时的一些通用类和...
1. 动态SQL:Ibatis-SqlMap支持在XML映射文件中编写动态SQL,使得SQL生成更加灵活。 2. 缓存机制:提供了一级缓存和二级缓存,能够提高数据访问效率。 3. 映射文件和Java代码分离:通过XML配置文件,将SQL逻辑和业务...
总结,`ibatis-sqlmap-2.jar.zip`中的`ibatis-sqlmap-2.jar`是iBatis-SQLMap 2的核心库,它为开发者提供了强大的SQL操作和对象映射功能。通过理解并熟练运用iBatis-SQLMap 2,开发者可以构建出高效、灵活的数据库...
本篇文章将深入探讨Ibatis SqlMap在2.3.0版本中对通配符的支持,帮助开发者更好地理解和利用这一特性。 SqlMap是Ibatis的核心组件,它负责管理和执行SQL语句。在处理动态SQL时,有时我们需要在查询条件中使用通配符...
ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用
首先,我们来看标题中的"ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat"。这部分信息表明我们正在探讨的是iBatis SQLMap的2.3.4.726版源码,其中"birth84v"和"cutting1v2"可能是特定的版本标识...
【标题】:“Ibatis-SQLMap相关参考” 在IT领域,Ibatis是一个广泛使用的轻量级持久层框架,它提供了一种将SQL语句...通过以上知识点的学习,开发者能更好地掌握Ibatis-SQLMap的使用,并在实际项目中发挥出它的优势。
在IT行业中,数据库操作是日常开发中的重要环节,而Ibatis作为一款优秀的持久层框架,大大简化了Java应用与数据库的交互。Ibatis的SqlMap配置文件是其核心部分,用于定义SQL语句、参数映射和结果映射,但手动编写...
在 iBatis 框架中,SQLMap配置是整个应用程序的核心部分,占据了大部分的开发工作。下面将详细解析 iBatis 中SQLMap配置的关键知识点: 1. **命名空间(Namespace)**: 命名空间是iBatis配置中的一个重要概念,它...
【标题】"ibatis-sqlMap-入门教程(代码)" 涉及的知识点主要集中在使用MyBatis(原iBATIS)框架进行数据库操作的初步实践上。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎...
SqlMap是iBatis的核心配置文件,用于定义数据库交互的各种操作。以下是关于iBatis_SqlMap配置的一些关键知识点: 1. **命名空间(Namespace)**: 命名空间是SqlMap配置中的一个重要概念,用于区分不同的SqlMap...
### ibatis-sqlMap:SQL语句映射指导 #### 引言 ibatis-sqlMap,也称为iBATIS DataMapper,是一个用于简化数据库访问的框架,它通过使用简单的XML描述符将Java对象映射到SQL语句上。本文档旨在提供一个全面的指南...
据估计,配置SqlMap的工作量可能占据整个iBatis开发工作的70%,这充分说明了其在iBatis项目中的核心地位。 #### 二、命名空间与元素引用 **命名空间**是iBatis配置文件中的一个重要概念,它用于区分不同的SQL映射...
4. **生成XML文件**:将构造好的SQL语句写入到XML文件中,形成iBatis的SQLMap文件。 5. **保存和整合**:将生成的SQLMap文件整合到项目中,确保与Java代码的对应关系正确。 通过这样的工具,开发者可以极大地减少...
本文将详细讨论“ibatis驱动+Mysql驱动+SQL驱动”这个组合在软件开发中的应用及其重要性。 首先,让我们从Ibatis开始。Ibatis是一个优秀的持久层框架,它允许开发者将SQL语句直接集成到Java代码中,从而提供了比...
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...
iBATIS SQLMap在这个版本中加强了对缓存的支持,意味着查询结果可以被存储在内存中,当相同查询再次执行时,可以直接从缓存中获取,避免了重复的数据库查询,减少了系统负载。 3. **读写分离**:在高并发环境下,...