- <?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="Category">
- <typeAlias alias="subject" type="com.lhq.prj.bms.po.Subject" />
- <typeAlias alias="category" type="com.lhq.prj.bms.po.Category" />
- <typeAlias alias="page" type="com.lhq.prj.bms.core.Page" />
- <parameterMap class="category" id="pm_category_without_id">
- <parameter property="categoryName" javaType="string" jdbcType="VARCHAR" />
- <parameter property="subjectId" javaType="integer" jdbcType="NUMBER" />
- <parameter property="subjectName" javaType="string" jdbcType="VARCHAR" />
- <parameter property="remark" javaType="string" jdbcType="VARCHAR" />
- </parameterMap>
- <sql id="byCategoryIdCondition">
- <![CDATA[
- categoryId = #categoryId:NUMBER#
- ]]>
- </sql>
- <insert id="save" parameterMap="pm_category_without_id">
- <![CDATA[
- INSERT INTO t_category
- (categoryName,subjectId,subjectName,remark)
- VALUES (?,?,?,?)
- ]]>
- <selectKey resultClass="int">
- <![CDATA[
- SELECT @@IDENTITY AS ID
- ]]>
- </selectKey>
- </insert>
- <delete id="deleteById" parameterClass="integer">
- <![CDATA[
- delete t_category
- ]]>
- <dynamic prepend="WHERE">
- <include refid="byCategoryIdCondition" />
- </dynamic>
- </delete>
- <select id="findAll" resultClass="category">
- <![CDATA[
- SELECT * FROM t_category
- ]]>
- </select>
- <update id="update" parameterClass="category">
- <![CDATA[
- UPDATE t_category
- ]]>
- <dynamic prepend="SET">
- <isNotNull property="categoryName" prepend=",">
- <![CDATA[
- categoryName = #categoryName:VARCHAR#
- ]]>
- </isNotNull>
- <isNotNull property="subjectId" prepend=",">
- <![CDATA[
- subjectId = #subjectId:NUMBER#
- ]]>
- </isNotNull>
- <isNotNull property="subjectName" prepend=",">
- <![CDATA[
- subjectName = #subjectName:VARCHAR#
- ]]>
- </isNotNull>
- <isNotNull property="remark" prepend=",">
- <![CDATA[
- remark = #remark:VARCHAR#
- ]]>
- </isNotNull>
- </dynamic>
- <dynamic prepend="WHERE">
- <include refid="byCategoryIdCondition" />
- </dynamic>
- </update>
- <sql id="findCategoryByPageCondition">
- <isNotEmpty property="conditions">
- <iterate property="conditions" open="(" close=")" conjunction="OR">
- <![CDATA[
- upper(categoryName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'
- OR upper(subjectName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'
- OR upper(remark) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'
- ]]>
- </iterate>
- </isNotEmpty>
- </sql>
- <select id="findByPage" parameterClass="page" resultClass="category">
- <![CDATA[
- SELECT TOP $limit$ * FROM t_category
- WHERE (categoryId >= (SELECT MAX(categoryId) FROM (SELECT TOP $start$ categoryId FROM t_category
- ]]>
- <dynamic prepend="WHERE">
- <include refid="findCategoryByPageCondition" />
- </dynamic>
- <![CDATA[
- ORDER BY categoryId ) AS T))
- ]]>
- <dynamic prepend="AND">
- <include refid="findCategoryByPageCondition" />
- </dynamic>
- <![CDATA[
- ORDER BY categoryId
- ]]>
- </select>
- <select id="findByCount" parameterClass="page" resultClass="int">
- <![CDATA[
- SELECT COUNT(*) FROM t_category
- ]]>
- <dynamic prepend="WHERE">
- <include refid="findCategoryByPageCondition" />
- </dynamic>
- </select>
- <select id="findCategoryBySubject" parameterClass="subject" resultClass="category">
- <![CDATA[
- SELECT * FROM t_category
- ]]>
- <dynamic prepend="WHERE">
- <isNotNull property="subjectId" prepend="OR">
- <![CDATA[
- subjectId = #subjectId:NUMBER#
- ]]>
- </isNotNull>
- <isNotNull property="subjectName" prepend="OR">
- <![CDATA[
- subjectName like '%' + #subjectName:VARCHAR# + '%'
- ]]>
- </isNotNull>
- </dynamic>
- </select>
- </sqlMap>
相关推荐
通过ibatis解决sql注入问题
主要介绍了通过ibatis解决sql注入问题,需要的朋友可以参考下
iBATIS SQL Maps入门教程
iBATIS SQL Maps入门教程准备使用SQL MapSQL Map架构能应用于设计不好的数据库模型甚至是设计不好的对象模型。尽管如此,您在设计数据库模型和对象模型时,还是应该遵循最佳的设计原则。这样,您会获得更好的性能和更简洁清晰的设计方案。设计最容易开始的地方是分析应用的业务逻辑。分析什么是应用的业务对象,什么是数据模型以及两者之间的关系。作为快速入门第一个例子,我们使用一个简单的J
新能源充电桩充电枪口标准
建立的标准确保了新能源汽车充电的安全性、兼容性和效率,促进了新能源汽车产业的发展。
SQL Injection
摘要 以用户或者外部不可信来源的输入动态构造SQL查询的命令,将可能改变SQL查询语句本来的语义,从而导致执行任意的SQL命令。缺陷描述 SQL injection 错误在以下情况下发生: 1. 数据从一个不可信赖的数据源进入程序。 - 在这种情况下, 静态扫描工具无法确定数据源是否可信赖。 2. 数据用于动态地构造一个 SQL 查询。 示例1以下代...
跨越移植陷阱:ESP-IDF下LVGL与ILI9341的组件化集成与常见避坑指南
本文详细解析了在ESP-IDF环境下将LVGL图形库与ILI9341显示屏驱动进行组件化集成的完整流程。重点介绍了移植过程中的关键配置策略、内存管理优化技巧以及常见问题解决方案,帮助开发者有效规避内存溢出、显示异常等典型陷阱,实现高效稳定的嵌入式GUI开发。
pwm电机调速的原理介绍与代码实现
1、pwm实现调速的原理与介绍 PWM(Pulse Width Modulation)脉冲宽度调制。 1)占空比 pwm占空比就是一个脉冲周期内有效电平在整个周期所占的比例。 通过调节PWM的占空比就能调节IO口上电压的持续性变化,因此也能够控制外设的功率进行持续性变化,也就能控制直流电机的转速快慢。 那么重点就在于如何调节PWM波形的输出。如下图所示 图中的ARR是我们给定时器的一个预装载值,CCRx的上下变化是产生PWM波的关键。我们假设ARR大于CCRx的部分输出为高电平(即t1-t2、t3-t4
iBatis2学习笔记:SqlMap的配置总结(18条)
iBatis2学习笔记:SqlMap的配置总结(18条) 本来我也不喜欢iBatis,那是因为我当时还不怎么会用它,现在我想说,iBatis是个好东西,不信你试试看。下面是我在项目实践中对iBatis的一个小总结,希望帮助众多在疲于iBatis编码而无暇思考的苦工们找到一些偷懒的机会。 SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。 ...
HPM6E00:PWM V2使用指南
HPM6E00:PWM V2使用指南
iBatis SQL Maps详解
一、准备使用SQL Map SQL Map架构能应用于设计不好的数据库模型甚至是设计不好的对象模型。尽管如此,您在设计数据库模型和对象模型时,还是应该遵循最佳的设计原则。这样,您会获得更好的性能和更简洁清晰的设计方案。 设计最容易开始的地方是分析应用的业务逻辑。分析什么是应用的业务对象,...
简单搭建 可视化日志+链路追踪
JAVA 可视化日志、链路追踪、plumeLog、Tlog、Logback
<PLC><西门子><工控>西门子博图V18中使用SCL语言编写一个CRC16-modbus校验程序
西门子官方对于SCL语言的介绍如下:SCL 编程语言SCL 编程语言SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准DIN EN 61131-3(国际标准为 IEC 1131-3)。根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的PLCopen 初级水平。语言元素。
在ibatis中使用$value$引入变量会引入SQLInjection漏洞
(1)sql语法中的_关键字_.如果sql语句中出现存在用户输入的关键字.比如以下sql: select TABLE_NAME,TABLESPACE_NAME from user_tables order by TABLE_NAME $ordertype$其中ordertype为用户输入的ASC,DESC.对这种关键字请使用 $ordertype:SQLKEYWORD$替换 $ordertype$...
56、宇宙微波背景辐射(CMB)望远镜及光学系统解析
本文详细解析了宇宙微波背景辐射(CMB)望远镜及其光学系统,重点介绍了交叉德拉贡系统的结构特点、偏振测量误差及其控制、以及大型地面望远镜如ACT和SPT的设计与对比。同时,总结了不同光学系统和探测器阵列的优劣势,并展望了未来发展方向,旨在为CMB研究提供更高效的工具和技术支持。
介绍iBATIS的SQL Map的简单例子
这篇文章介绍了iBATIS的SQL Map的简单例子。它是一个免费的开放源代码软件。具有以下优点:10、知道怎样操作10种以上的数据库9 、可配置的caching(包括从属)8、支持DataSource、local transaction managemen和global transaction 7、简单的XML配置文档6、支持Map, Collection, List和简单类型包装(如Integ
GEE案例教程:融合Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据,构建完整的洪水监测与影响评估工作流
本文介绍了一个专为巴基斯坦哈扎拉分区设计的洪水监测系统,该系统整合了Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据等多源遥感数据。系统通过VV极化SAR数据的水体提取算法(阈值-13dB)实现洪水范围监测,结合10米分辨率的光学影像进行可视化验证,并利用100米分辨率人口数据评估受灾人口。系统提供完整的技术实现,包括研究区加载、遥感数据处理、日期选择界面和洪水变化检测等功能模块,为灾害应急响应提供科学依据。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
iBATIS SQL Maps(一)
前段时间写了些 Hibernate 方面的系列文章,网友们反映还不错。在接下来的时间里,我将会引入另外一种 O/R Mapping 解决方案——iBATIS,本系列将沿用 Hibernate 系列文章的风格。什么是 iBATIS ? 和众多的 SourceForge 开源项目一样,iBATIS 曾经也是其中的一员。在2004年11月3日成功地成为了 Apache Incubator 下的子项
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
ibatis中sql-map-config.xml的settings配置
ibatis中sql-map-config.xml的settings配置 cacheModelsEnabled="true" lazyLoadingEnabled="false" enhancementEnabled="true" maxSessions="64" maxTransactions="8" maxRequests="128" useStatementNamespac
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
IBatis框架的SQL Map映射文件
在IBatis框架中,利用一个映射文件来定义需要持久化的对象,在这个文件中SQL语句是最显眼的,这个映射文件的目的就是将SQL映射到对象。下面先看一下映射文件的主要功能:q 定义一个持久化的Java类。q 映射VO中的变量属性为表字段。q 根据SQL来持久化对象。q 可以定义随意使用的SQL。q 支持各种
iBATIS:轻量级SQL映射框架
iBATIS是一个轻量级SQL映射框架,其核心思想是让开发者自主编写SQL语句,框架负责处理Java对象与数据库之间的参数和结果映射。作为MyBatis的前身,它适用于需要精细控制SQL的场景。主要组件包括全局配置文件SqlMapConfig.xml、映射文件SqlMap.xml和运行时入口SqlMapClient。iBATIS通过参数映射、结果映射、动态SQL标签和缓存机制简化了JDBC操作,但需要手写大量XML配置。
iBatis小结
1、isNull, isNotNull与isEmpty, isNotEmpty区别 在iBATIS中isNull用于判断参数是否为Null,isNotNull相反。 isEmpty判断参数是否为Null或者空,满足其中一个条件则其true,isNotEmpty相反,当参数既不为Null也不为空是其为true isNull: Checks if a property is null. is
ibatis 指定返回Map(resultMap)中的字段类型
ibatIS中我们可以定义<parameterMap class="" id=""></parameterMap> <resultMap class="" id=""></resultMap> 来定义参数类型Map或者返回值Map类型 转自吕兄:http://mmddonkey.iteye.com/
ibatis Could not find SQL statement to include with refid 'xxx' 问题
ibatis启动报错: Could not find SQL statement to include with refid 'xxx'。 网上找的资料都是名称空间的问题,后来试着将这个被引用的sql片段放到使用它的sql前面,就可以了。 这可能是一个bug吧,使用的时候注意就是了。 注意:按照上面的配置好后,在Sql-Map-Config.xml中需要设置useStatementNa
ibatis中sql xml的基础写法
ibatis中sqlxml的基础写法 在工作中整理的ibatis sql配置文件的一些基础写法。 ibatis sql xml文件基本构成 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="USER">
iBATIS SQL Maps(二)
让我们重回到车辆管理系统和张三的故事中。 在 iBATIS SQL Maps 的世界里也存在 one-to-many、many-to-one 的关系,想必你已经对这些概念驾轻就熟了。好!还是每个 People 对应多条 AutoInfo 信息。 本系列文章第一部分提到过 iBATIS SQL Maps 的映射文件个数可以人为设定,但是,把一组有共性的操作放在一起是首选策略。下面
ibatis中的iterate遍历属性值
收集了一下“黑咖啡”的介绍: http://www.blogjava.net/kyleYang/archive/2010/02/02/311688.html 感谢能与大家分享 Iterate:这个属性遍历整个集合,并为List集合中的元素重复素体的内容。 Iterate 的属性: prepend - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) pro...
1461



被折叠的 条评论
为什么被折叠?



