`
uule
  • 浏览: 6358830 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

SQL语句中new Map的使用和日期的处理

阅读更多

数据库结构:


 

获取每一年、每个月的dayCount总数:

 

Sql语句如下:



 最后的效果如:


项目中使用new Map:

select new Map(year(date) as year,month(date) as month,sum(dayCount) as total) from Counter group by year(date), month(date) order by year(date)

 

该查询返回了一个Map的对象,内容是别名与被选择的值组成的名-值映射。
[{total=3, month=1, year=2010}, {total=465, month=2, year=2010}...]

 

String hql = "select new Map(year(date) as year,month(date) as month,sum(dayCount) as total) from Counter group by year(date), month(date) order by year(date)";
		List list = this.baseDao.getHibernateTemplate().find(hql);
		Iterator it = list.iterator();
		List<Counters> countersList = new ArrayList<Counters>();
		while(it.hasNext()){
			Map map =(Map) it.next();				
			Counters counter = new Counters();
			counter.setYear((Integer)map.get("year"));
			counter.setMonth((Integer)map.get("month"));
			counter.setTotal((Long)map.get("total"));
			countersList.add(counter);
		}

 ...

另:

查出数据库中的最大日期,即最新的那条记录

select max(cou.date) from Counter cou

 最大日期的对象:

String hql = "from Counter counter where counter.date = (select max(cou.date) from Counter cou )";
List<Counter> list =  this.getBaseDao().getHibernateTemplate().find(hql);

 ...

  • 大小: 17.3 KB
  • 大小: 5.3 KB
  • 大小: 17.8 KB
分享到:
评论
1 楼 cancan7 2012-03-27  
这样的查询有什么好处呢?

相关推荐

    JAVA的SQL帮助类,帮助快速使用SQL语句更新,删除,查询数据

    在Java编程中,数据库操作是不可或缺的一部分,而`SQL帮助类`的作用就是简化这一过程,使得开发者能够更高效地执行SQL语句,如更新、删除和查询数据。本篇文章将详细探讨Java中的SQL帮助类以及如何利用JDBC(Java ...

    Ibatis资料ibatai sql map iBATIS使用$和#的一些理解

    然而,当使用`$`时,iBATIS不会对变量做任何处理,而是直接将变量的值插入到SQL语句中。这对于处理如数组、集合或者需要原样保留的特殊字符时很有用。例如,如果我们需要处理一个包含多个ID的列表,使用`$`会得到...

    Spring项目里将SQL语句写在.sql文件中的方法

    在Spring项目中,为了提高SQL语句的可读性和维护性,有时我们需要将SQL语句单独存储在.sql文件中。这样做不仅可以使代码更加整洁,还能利用编辑器对SQL语句进行语法高亮和智能提示。以下是如何在Spring项目中实现这...

    SpringBoot+JPA+Freemarker 生成动态SQL

    它与Java紧密集成,允许开发者在模板中使用Java表达式,动态生成内容。在Web开发中,Freemarker通常用于视图层,接收后台传递的数据并生成动态页面。 结合SpringBoot和JPA,我们可以创建一个服务,该服务使用JPA的...

    sqlserver 实现分页的前台代码 以及后台的sqlserver语句

    在Java中,我们需要获取前端传来的页码和每页大小,然后构造上述SQL语句并执行: ```java @PostMapping("getData") public Map, Object&gt; getData(@RequestParam int page, @RequestParam int pageSize) { String ...

    hibernate实现动态SQL查询

    本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...

    mybatis动态sql之Map参数的讲解

    在SQL语句中,我们使用#{key}的方式来获取Map中的值。 在Java代码中,我们可以使用HashMap来构建Map参数,例如: ```java public Map, String&gt; parseMap(HttpServletRequest req) { Map, String&gt; map = new ...

    动态构造sql的利器rapid-xsqlbuider

    总的来说,Rapid-XSQLBuilder 是一款优秀的工具,它使得动态构造 SQL 语句变得更加简洁、安全,极大地提高了代码的可读性和可维护性,特别适合在代码生成器或者需要动态构建复杂查询的场景中使用。通过掌握其特有的...

    MyBatis 执行动态 SQL语句详解

    然而,当我们需要更复杂的动态查询,如 `enabled = #{enabled} and userName like concat('%',#{userName},'%')`,我们可以使用 Map 传递参数,并在 XML 中使用 `${sql}` 来引用完整的 SQL 语句: ```xml &lt;!-- ...

    Hibernate SQLQuery执行原生SQL.docx

    这里创建的SQLQuery对象允许我们执行任意的SQL语句,而不是局限于Hibernate的HQL查询语言。 二、设置查询参数 设置查询参数可以通过setParameter方法完成,它接受两个参数:一个是参数的索引(从0开始),另一个是...

    SqlBuilder:该项目是一个SQL语句生成器,允许您用Java编写SQL

    SQL语句生成器 English | 该项目是一个SQL语句生成器,允许您用Java编写SQL。 这不是构建SQL语句的快速方法,但是它可以使您的代码更清晰,更直观。 0.例子 像这样的简单演示: Column fruit_name = new Column ( ...

    hql语句语法详解hql语句

    然后在代码中使用该命名查询: ```java List&lt;Person&gt; persons = session.createNamedQuery("findPersons").list(); ``` 通过以上介绍,我们可以看到HQL不仅提供了丰富的语法结构,还支持面向对象的查询方式,极大...

    MyBatis动态SQL详解.pdf

    在实际开发中,我们经常需要传递多个参数到SQL语句中,这时可以使用Map作为参数传递。下面是一个具体的例子: 假设我们有一个`UserMapper`接口,其中包含一个名为`getUserList`的方法,该方法接收一个Map类型的参数...

    iBATIS SQL Maps

    - **SQL语句类型**:iBATIS支持多种SQL语句类型,包括查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)等。 - **参数传递**:在SQL映射文件中,可以通过参数传递机制将Java对象的属性值映射到SQL...

    NamedParameterJdbcTemplate 的用法

    在 execute 方法中,我们将 SQL 语句、参数 Map 和 PreparedStatementCallback 对象作为参数传递。PreparedStatementCallback 对象将在执行 SQL 语句时被回调,用于处理结果集。 2. query 方法 ...

    geoserver sqlserver 插件 包含 sqljdbc,gt-jdbc-sqlserver,mssql-jd

    SQL Server插件是GeoServer的一个扩展,它提供了与Microsoft SQL Server数据库的集成,使得用户能够利用SQL Server存储和处理地理空间数据。在本主题中,我们将深入探讨如何安装和使用GeoServer SQL Server插件,...

    封装jdbc,采用Map方式快速增删改数据库例子

    在上述示例中,我们构建了一个SQL语句,并通过Map中的键值对设置PreparedStatement的参数。这种方法既清晰又高效,尤其适用于大量参数的情况。 除了基本的增删改查,`BaseDao`还可以扩展以支持更复杂的数据库操作,...

    一个大公司的PHP面试题

    本文对 PHP 面试题中出现的知识点进行了详细的解释和分析,涵盖了 PHP 环境变量、日期计算、字符串处理、数组处理、数据库设计范式、SQL 语句优化、模板引擎等方面的知识点。 一、PHP 环境变量 在 PHP 中,可以使用...

    ibatis 入门实例

    1. 数据库独立性:iBATIS 更注重SQL的灵活性,允许开发者直接编写SQL语句,适合处理复杂的查询和性能调优;Hibernate则提供了对象关系映射(ORM),在数据库独立性方面做得更好,但对SQL的控制相对较少。 2. 性能:...

    ibatis查询语句配对.doc

    - SQL语句中使用了表别名,如`p.*`,其中`p`是`MEMBER_POST`表的别名。 - 条件`m.AUDIT_STATUS = #bo.AUDIT_STATUS:NUMERIC#`表示从`bo`变量中取`AUDIT_STATUS`字段的值,并转换为数值类型用于比较。 - `r.USER_ID =...

Global site tag (gtag.js) - Google Analytics