- 浏览: 88943 次
- 性别:
- 来自: 宜昌
文章分类
最新评论
-
chenaha:
不知道大哥是否会用sencha touch,我想写一个这样的效 ...
用ext读取XML写一个“省-市-邮编”三级联动
package com.rzy.api.db; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; public class Query { private static Query query = null; private String table = null; private String baseSQL = null; private Map<String, String> condMap = new HashMap<String, String>(); private Query(String tableName) { this.table = tableName.toUpperCase(); baseSQL = String.format("SELECT * FROM %s T", this.table); } /** * 根据表名创建Query单例对象 * * @return Query单例对象 */ public static Query Create(String tableName) { query = new Query(tableName); return query; } /** * 根据条件MAP得到条件SQL语句 * * @return */ private StringBuffer getWHERE() { StringBuffer where = new StringBuffer(); for (Map.Entry<String, String> entry : this.condMap.entrySet()) { String field = entry.getKey(); String[] arr = entry.getValue().split("\\|"); if ("=".equals(arr[0])) { if (where.length() != 0) { where.append(" AND "); } where.append(field).append(arr[0]).append("\'").append(arr[1]) .append("\'"); } else if ("LIKE".equalsIgnoreCase(arr[0])) { if (where.length() != 0) { where.append(" AND "); } where.append(field).append(" LIKE \'%").append(arr[1]).append( "%\'"); } else if ("BETWEEN".equalsIgnoreCase(arr[0])) { if (where.length() != 0) { where.append(" AND "); } where.append("(").append(field).append(" BETWEEN \'").append( arr[1]).append("\' AND \'").append(arr[2]) .append("\')"); } else if ("IN".equalsIgnoreCase(arr[0])) { if (where.length() != 0) { where.append(" AND "); } where.append(field).append(" IN(").append(arr[1]).append(")"); } else if ("ORDER".equalsIgnoreCase(arr[0])) { if (where.length() != 0) { where.append(" ORDER BY "); } else { where.append("ORDER BY "); } where.append(field).append(" ").append(arr[1]); } else { if (where.length() != 0) { where.append(" AND "); } where.append(field).append(arr[0]).append(arr[1]); } } boolean isOnlyOrder = where.toString().startsWith("ORDER BY"); if (!isOnlyOrder) { where.insert(0, "WHERE "); } return where; } /** * 根据条件MAP得到SQL语句 * * @return SQL语句 */ private String SQL() { StringBuffer ret = new StringBuffer(baseSQL); if (this.condMap != null && this.condMap.size() != 0) { ret.append(" ").append(getWHERE()); } return ret.toString(); } /** * 查询 * * @return 数据集合List<Map<k,v>> 其中k:字段名小写,v:字段值 * @throws SQLException */ public List<Map<String, Object>> list() throws SQLException { String sql = SQL().toString(); List<Map<String, Object>> list = DBHelper.query(sql); return list; } /** * 分页查询 * * @param start * 开始记录数 * @param limit * 查询条数 * @return 数据集合List<Map<k,v>> 其中k:字段名小写,v:字段值 * @throws SQLException */ public List<Map<String, Object>> list(int start, int limit) throws SQLException { StringBuffer ret = new StringBuffer("SELECT * FROM("); ret.append(SQL().replace("*", "ROWNUM AS RM ,T.*")).append( ") WHERE RM BETWEEN ").append(start + 1).append(" AND ") .append(start + limit); List<Map<String, Object>> list = DBHelper.query(ret.toString()); return list; } /** * 得到总记录数 * * * @return 总记录数 */ public int count() throws SQLException { String sql = SQL().replace("*", "COUNT(*)"); return Integer.parseInt(DBHelper.scalar(sql).toString()); } /** * 添加条件 * * @param field 字段 如:"name" * @param opVal 操作符和值 如:"like|aaa","=|001","between|20|70","order|desc" * @return Query */ public Query add(String field,String opVal) { this.condMap.put(field,opVal); return this; } }
发表评论
文章已被作者锁定,不允许评论。
-
dialog
2014-01-06 15:26 0div.rzy-mask { background-co ... -
box.js
2013-12-23 15:54 729jQuery.fn.center = function(sc ... -
IE6 autocomplete
2013-12-11 10:05 628aaa -
Callable Future
2013-12-09 09:00 622package advancedJava; impor ... -
RequestContext
2013-12-06 11:30 489package util; import java.i ... -
XUtil
2013-12-04 15:21 1195package util; import java.i ... -
ActionFilter
2013-12-04 09:02 470package util; import java. ... -
最新基于Json 协议的架构
2013-12-02 23:35 717package util; import java. ... -
权限脚本
2013-11-27 09:32 520aa DROP TABLE IF EXISTS seq; ... -
主框架
2013-04-10 23:30 600<!DOCTYPE HTML PUBLIC &quo ... -
java 备份mysql
2012-07-01 01:18 772import java.io.BufferedReader;i ... -
权限管理
2012-06-23 02:14 694权限管理 -
FTPUPLOAD
2012-04-28 17:56 0package util; import java.io ... -
layout
2011-11-15 22:49 655$(function () { ... -
ligerui.css
2011-11-15 22:41 1249/* YUI CSS Reset */ html{col ... -
Accordion
2011-11-15 22:29 3078/** * jQuery ligerUI 1.0.2 * ... -
LigerUI
2011-11-13 16:52 857SDFD -
js 控件集
2011-11-06 00:39 967js 控件集 -
fileutil
2011-10-24 16:04 880import java.io.File; import ja ... -
语法高亮
2011-10-21 16:17 670语法高亮
相关推荐
例如,我们可以根据实体类的属性来设置各种条件,如等值、不等值、范围查询、模糊查询等。以下是一个简单的示例: ```java User user = new User(); user.setId(1); QueryWrapper<User> queryWrapper = new Query...
本文将深入探讨Solr6工具类的使用方法,包括条件查询、结果高亮,并结合测试对象和测试类进行详细解析。 1. **SolrJ简介** SolrJ提供了一组接口和类,使得开发者能够轻松地创建、发送和解析Solr请求。它通过...
这些工具类可能包含`PageHelper` 或 `PaginationUtil`,它们通常接受查询条件、每页记录数和当前页数作为参数,返回一个包含分页信息的对象,如总记录数、总页数以及当前页的数据列表。 最后,关于“hibernate的hql...
一个超好用的Hibernate查询工具类通常会封装一些常见的查询方法,例如根据ID获取单个对象、根据条件获取对象列表、分页查询等。这样的工具类可以大大减少代码重复,提高代码的可读性和可维护性。 以下是一些可能...
本篇将详细介绍如何在JSP中应用工具类,特别是名为"functionUtils"的工具类,以及它如何帮助我们实现查询等功能。 1. 创建工具类 首先,我们需要创建一个名为`FunctionUtils.java`的Java类。这个类通常位于项目的`...
在实际开发中,为了方便操作Elasticsearch,开发者通常会封装一些工具类,如"ElasticsearchUtil",以便更高效地执行常见的查询、更新、删除和创建等操作。 ### 查询数据 默认查询通常是基于索引来获取匹配的数据,...
这些工具类可以帮助开发者更高效地处理数据库的创建、查询、更新和删除等操作,避免手动编写繁琐的SQL语句。 首先,Android中的SQLite是默认的轻量级数据库,它允许开发者存储结构化数据。然而,直接使用...
本篇将深入探讨Hibernate的条件查询,帮助开发者更好地理解和运用这一工具。 1. **HQL(Hibernate Query Language)** HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的对象是对象而非表。例如,要...
首先,QueryWrapper是Mybatis-Plus提供的一个用于构建SQL查询条件的工具类,它可以帮助我们更加简洁地构建复杂的查询条件,避免在XML映射文件中编写大量条件判断。通常,我们可以通过如下方式创建并设置查询条件: ...
- **查询(Query)**:MongoTemplate提供了丰富的查询功能,如`findAll()`, `findById()`, `query()`, `findOne()`等,可以通过Query对象指定查询条件。 - **更新(Update)**:使用`updateFirst()`, `...
在Android开发中,`MediaQuery`是一个非常重要的工具类,主要用于获取和操作设备上的多媒体数据,如图片、视频等。这个类主要与Android的MediaStore服务配合使用,可以帮助开发者便捷地进行媒体资源的查询和访问。...
本文将详细介绍如何构建一个封装了基本增删改查功能的Elasticsearch Java工具类。 首先,我们需要引入Elasticsearch的Java客户端依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
`Criteria`和`Query`接口则允许我们根据各种条件进行数据查询,而`HibernateTemplate`或`SessionFactoryBean`等工具类则进一步简化了操作,减少了代码量。 在SSH开发中,DAO(数据访问对象)层是不可或缺的一部分。...
- `query`: 查询数据,可能包括根据特定条件查询单条或多条记录,使用`SQLiteDatabase.query()`方法。 2. **DBSOpenHelper**: 这是SQLiteOpenHelper的子类,主要用于创建和升级数据库。SQLiteOpenHelper有以下几个...
总的来说,“hibernate hql where语句拼接工具类”是为了简化和规范化在Hibernate中构建带有动态条件的HQL查询的过程,提高代码的可读性和可维护性。通过这样的工具类,开发者可以更方便地根据业务需求构建复杂的...
MySQL增删改查工具类是面向Java开发者的一个实用工具,它简化了数据库操作,特别是针对MySQL数据库的插入、删除、更新和查询等基本操作。在Java编程中,直接操作数据库通常涉及大量的SQL语句编写,这既繁琐又容易...
mybatisPlus的queryWrapper查询条件我们一般都是写死带下划线(如:create_time),但是如果用@FieldNameConstants注解的files字段去当条件的话,是驼峰,sql语句报找不到列,所以期望这里会自动帮我们把驼峰转下划线...
SQL查询条件生成器是一种工具,它能够帮助程序员自动化地构建SQL查询语句,尤其是在处理复杂的动态查询时。这种工具通常包含一系列方法,用于构建不同类型的WHERE子句,从而避免手动编写大量的字符串拼接代码,提高...
【Power Query 入门手册】是一本针对Excel报表自动化工具PowerQuery(简称PQ)的初学者指南。Power Query是Microsoft Excel中一个强大的数据预处理工具,它允许用户轻松地清洗、转换和整合数据,为数据分析工作提供...
例如,你可以有一个`execute_query`方法用于执行查询操作,只需要传入表名、字段名和过滤条件等参数,工具类内部会自动构造并执行相应的SQL语句。这样做的好处在于提高了代码的可读性和可维护性,同时减少了重复代码...