`

ibatis中防止sql注入的写法

阅读更多

对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义交给了数据库,不会出现注入问题;如果采用$写法,则相当于拼接字符串,会出现注入问题。

例如,如果属性值为“' or '1'='1 ”,采用#写法没有问题,采用$写法就会有问题。

对于like语句,难免要使用$写法,

 1. 对于Oracle可以通过'%'||'#param#'||'%'避免;

 2. 对于MySQL可以通过CONCAT('%',#param#,'%')避免;

 3. MSSQL中通过'%'+#param#+'% 。 

 

如下3种SQL语句:

[html] view plaincopy
 
  1. mysql: select * from t_user where name like concat('%',#name #,'%')    
  2.    
  3. oracle: select * from t_user where name like '%'||#name #||'%'   
  4.    
  5. SQL Server:select * from t_user where name like '%'+#name #+'%     

 

 

ibatis 常用写法

http://javacrazyer.iteye.com/blog/1135561

分享到:
评论

相关推荐

    通过ibatis解决sql注入问题

    iBatis提供了两种方式来解决SQL注入问题:#写法和$写法。其中,#写法是将参数传递给SQL语句时使用预编译方式,将转义交给了数据库,从而避免了SQL注入问题。 例如,以下代码: ```sql String sql = "SELECT * FROM...

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

    本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库操作。 首先,iBatis提供了一个强大的日志系统,支持多种日志实现,如Log4j、SLF4J、Java Util Logging等。选择哪种日志实现取决于你...

    寻找sql注入的网站的方法(必看)

    方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙

    ibatis常用的sql

    这些SQL语句主要用于Oracle数据库中,涉及到了删除、插入以及查询等基本操作,并且在ibatis框架中实现了参数化处理。 ### 一、删除操作 首先我们来看第一条SQL语句: ```xml parameterClass="long"> delete ...

    iBatis的动态SQL语句

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

    ibatis动态SQL标签用法

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

    ibatis的dynamicSQL中,关于prepend的使用

    ### 关于ibatis动态SQL中的`prepend` #### 1. 动态SQL元素 在ibatis中,`<dynamic>`标签是用来构建动态SQL的核心元素之一。当使用`<dynamic>`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到...

    打log4j日志-ibatis的sql输出

    要启用Ibatis的SQL日志记录,你需要在Ibatis的配置文件(通常为`mybatis-config.xml`)中添加以下设置: ```xml ``` 这里,`logImpl`设置指定了日志实现的类型,我们将其设置为"LOG4J",表示使用Log4j进行...

    ibatis动态sql拼接

    iBatis 框架中的动态 SQL 拼接是一种强大的功能,它允许开发者根据不同的条件生成不同的 SQL 语句,从而提高程序的灵活性和可维护性。在本文中,我们将深入分析 iBatis 框架中动态 SQL 的实现原理,并探讨其核心类图...

    查看ibatis后台sql

    通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)

    ibatis打印sql

    通过打印SQL,可以验证动态条件是否正确地被插入到最终执行的SQL中。 5. **性能优化**: 打印SQL还能帮助优化数据库查询性能。通过分析SQL语句,可以识别慢查询并进行相应的优化,如添加索引、调整SQL语句结构等。...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    《iBATIS 开发指南》和《iBATIS-SqlMaps》是两本关于Java开发领域中的重要框架——iBATIS的权威指南。这两本书详细介绍了如何使用iBATIS进行数据库交互,帮助开发者深入理解并熟练掌握这一持久层框架。 iBATIS,...

    Ibatis常用sql语句

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

    ibatis常用sql语句

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

    iBATIS-SqlMaps-中文教程

    iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化了数据访问层的开发工作。这篇教程通过详细的讲解和实例,帮助读者理解和掌握iBATIS的核心功能和使用技巧。 ...

    08_ibatis教程_sql主键生成方式.zip

    在本教程"08_传智播客ibatis教程_sql主键生成方式"中,你将会深入学习到如何在Ibatis中配置和使用上述各种主键生成策略,通过实例和代码讲解,帮助你更好地理解和掌握Ibatis在处理SQL主键生成方面的技巧和最佳实践。...

    ibatis2.0+sqlserver2005环境搭建

    在本教程中,我们将详细介绍如何搭建一个基于Ibatis 2.3.4.726版本和SQL Server 2005的开发环境。Ibatis是一个轻量级的持久层框架,它允许开发者将SQL语句与Java代码分离,提高了数据库操作的灵活性。 首先,确保你...

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

    例如,在实现模糊查询功能时,用户的搜索关键词可能包含SQL中的特殊字符,比如`%`、`_`等。如果不做任何处理,这些特殊字符将会被SQL引擎视为通配符,从而导致查询结果出现偏差。 #### 二、特殊字符处理方法 #####...

    ibatis-sqlmaps-2_cn

    在《ibatis-sqlmaps-2_cn》中,你将会学习到如何设置和配置IBATIS环境,包括引入必要的jar包,创建数据库连接池,以及编写配置文件。教程会详细解释`sqlmap-config.xml`文件的各个元素,如数据源设置、事务管理器...

    [iBATIS]sql转换工具

    [iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了

Global site tag (gtag.js) - Google Analytics