`
yuzou45
  • 浏览: 1435 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • Heis: 不知道你有没有考虑过sql注入的安全问题呢?读一下我的文章,一 ...
    SQL组装

SQL组装

    博客分类:
  • JAVA
阅读更多

   很多牛人都在讲Hibernate 的东西,但很少有写具体细节的东西,偶个菜鸟抛砖引玉,写了个SQL组装的方法,希望大家,一起讨论,能写出更好更完美的方法。

写道
/**
*
* @param tableName 表明
* @param map 查询条件 map
* @return 组装好的sql字符串
*/
public static String SqlCombenation(String tableName, Map map) {
StringBuilder sql = new StringBuilder("where 1 = 1 ");
if (map != null) {
Set set = map.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
String columns = (String) it.next();
sql.append("and tableName." + columns + " = " + "'"
+ map.get(columns) + "' " );
}

}
return sql.toString();
}


 

0
0
分享到:
评论
1 楼 Heis 2010-03-21  
不知道你有没有考虑过sql注入的安全问题呢?读一下我的文章,一起讨论。
我使用DSL编写SQL的一个Java实现
http://heis.iteye.com/blog/620906

相关推荐

    SQL组装工具类,轻松应对复杂查询条件的组装

    SQL组装复杂查询条件,SELECT .. FROM .. (LEFT|RIGHT|INNER) JOIN .. ON .. WHERE .... GROUP BY .. HAVING .. ORDER BY .. LIMIT ..

    SQL组装工具类,轻松应对复杂条件的组装

    SQL组装工具类,轻松应对复杂条件、各种SQL关键字的组装。

    容元太华 易语言组装SQL源码

    1. "数据库 易语言也能用 连贯操作 组装SQL.e":这是一个易语言工程文件,很可能包含了实现SQL组装的主要代码。"连贯操作"可能指的是在数据库操作中使用的一种连续、流畅的方法,如链式调用API,使得代码更简洁且...

    Python-SQLAlchemyPython的SQL工具包和对象关系映射器

    SQLAlchemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性。 SQLAlchemy提供了一整套众所周知的企业级持久性模式,旨在实现高效,高性能的数据库访问

    基于java的企业级应用开发:动态SQL.ppt

    MyBatis作为一个优秀的持久层框架,提供了一种动态SQL组装的解决方案,极大地简化了数据库操作。 MyBatis的动态SQL功能主要体现在其基于OGNL(Object-Graph Navigation Language)的表达式系统,允许开发者根据运行...

    OCCI接口和SQL语句的组装.pdf

    ### OCCI接口与SQL语句组装详解 #### 一、OCCI接口简介 OCCI(Oracle Call Compatibility Interface)是Oracle数据库提供的一种高级应用程序接口,它主要用于实现Java应用程序与Oracle数据库之间的交互。通过OCCI...

    python sublime 插件

    功能3:将日志打印出来参数条件和执行sql分离的sql组装为可执行sql 功能4:列编辑模式下粘贴,sublime进行列粘贴时,选择的列数和目标一致时,进行列粘贴才符合预期,如果列数过多,就需要把控所选列数,此方法是...

    sql-builder:Java语言的动态SQL构建器

    SQL生成器 Java语言的动态SQL构建器。 例子 一些用法示例:选择 QueryBuilder query = new QueryBuilder () . select() .column( " s.name " ) .column( " count(s.impediments) AS total_impediments " ) .from...

    数据库 易语言也能用 连贯操作 组装SQL

    在这个场景中,我们讨论的是如何在易语言环境中实现与数据库的连贯操作,通过组装SQL语句来完成数据的增删改查。 首先,了解易语言的基本概念是必要的。易语言的核心设计理念是“易学易用”,它的语法简洁明了,以...

    易语言组装SQL源码-易语言

    易语言是一种专为中国人设计的编程语言,它以简体...用户可以打开这个文件,查看和学习如何在易语言中进行数据库操作和SQL组装的具体方法。通过研究这个源码,可以了解易语言与数据库交互的细节,提高数据库编程能力。

    SQL语句拼装工具

    写java程序时用来拼装sql语句时使用的小工具,在.net 4.0环境下运行。例如将 select a, b, c from abc where a like('3') 转换为: sql.append("select "); sql.append(" a, "); sql.append(" b, "); sql.append...

    mybatis知识点总结.docx

    - `<bind>`元素定义变量,方便动态SQL组装。 - 动态SQL标签如`<if>`(条件判断)、`<where>`(处理WHERE子句)、`<foreach>`(遍历集合)、`<set>`(动态更新语句)、`<trim>`(修剪SQL前后缀)、`<choose>`、`...

    易语言源码易语言组装SQL源码.rar

    易语言源码易语言组装SQL源码.rar 易语言源码易语言组装SQL源码.rar 易语言源码易语言组装SQL源码.rar 易语言源码易语言组装SQL源码.rar 易语言源码易语言组装SQL源码.rar 易语言源码易语言组装SQL源码.rar

    Expression解析生成SQL.zip

    Expression自定义生成SQL,可链表、分组、排序、自定义。...对象化操作,链式编程,支持多表复杂关联查询,任意组装sql,自动生成表别名,参数化赋值,防止sql注入,支持SQLServer、MySQL、Oracle、SQLite等多数据库

    动态拼接sql语句工具类,拼接where后面语句

    动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...

    系统安全预防(1).pptx

    防范SQL注入的方法包括:验证用户输入,避免动态SQL组装,使用参数化SQL或存储过程,使用权限有限的独立数据库连接,加密或哈希敏感信息,以及提供定制的错误信息而非详细的系统错误信息。 代码安全方面,应修改...

    SpringBoot+JPA+Freemarker 生成动态SQL

    本篇将详细讲解如何利用这些技术来生成动态SQL。 首先,SpringBoot是Spring框架的一个轻量级版本,它简化了配置,提供了一种快速开发全新Spring应用的方式。SpringBoot集成了大量的常用库,如数据访问、安全、缓存...

    idea插件-mybatis-打印sql

    本文将深入探讨如何在IntelliJ IDEA中安装并使用"MyBatis Log Plugin"插件,以实现MyBatis SQL打印功能,帮助开发者更便捷地进行数据库调试。 首先,我们需要了解"MyBatis Log Plugin"插件的作用。MyBatis是一个...

    SQL语句格式化工具

    由于sqlserver等很多数据库管理软件本身没有对sql语句格式化的功能,使代码比较乱。用此工具格式化后,看起来相当整洁方便

Global site tag (gtag.js) - Google Analytics