可以写成:
SELECT mo,cellname,bsc,region,town,Round(bpi24, 0),thour|| ':00',dhour,
decode(result_,0,'网外干扰 - cdma杂散干扰',
1,'网内干扰 - 互调干扰',
2,'网内干扰 - 频点干扰',
3,'网内干扰 - 直放站干扰',
4,'网外干扰 - 直放站干扰',
5,'网内干扰',
6,'网外干扰',
7,'无法确定',
8,NULL,'其他'
) as result_,
freq
FROM cy_fasdata_itas ts
WHERE 1 = 1
AND bpi24 > -1
AND ttime = '2013-07-08'
AND mo IN (SELECT mo
FROM cy_fasdata_itas ts
WHERE ttime IN ( '2013-07-08', '2013-07-01' )
GROUP BY mo
HAVING Count(*) > 0
)
但是不可以写成:
SELECT mo,cellname,bsc,region,town,Round(bpi24, 0),thour|| ':00',dhour,
CASE result_
WHEN 0 THEN '网外干扰 - cdma杂散干扰'
WHEN 1 THEN '网内干扰 - 互调干扰'
WHEN 2 THEN '网内干扰 - 频点干扰'
WHEN 3 THEN '网内干扰 - 直放站干扰'
WHEN 4 THEN '网外干扰 - 直放站干扰'
WHEN 5 THEN '网内干扰'
WHEN 6 THEN '网外干扰'
WHEN 7 THEN '无法确定'
WHEN 8 THEN NULL
ELSE '其他'
END AS result_2,
freq
FROM cy_fasdata_itas ts
WHERE 1 = 1
AND bpi24 > -1
AND ttime = '2013-07-08'
AND mo IN (SELECT mo
FROM cy_fasdata_itas ts
WHERE ttime IN ( '2013-07-08', '2013-07-01' )
GROUP BY mo
HAVING Count(*) > 0
)
@Override
public GridPager getPqGridBase(GridPager gridPager, WebToolBean webToolBean)throws Exception {
String sqlCount = "select count(id) from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean)+" and mo in ( select mo from CY_FASDATA_ITAS ts where ttime in ('"+webToolBean.getTtime()+"','"+webToolBean.getTtime2()+"') group by mo having count(*)>"+webToolBean.getDay()+")";
/*
String sqlQuery = "select MO,CELLNAME,BSC,REGION,TOWN,round(BPI24,0),THOUR||':00',dhour," +
" case result_ when 0 then '网外干扰-CDMA杂散干扰' when 1 then '网内干扰-互调干扰' WHEN 2 then '网内干扰-频点干扰' WHEN 3 then '网内干扰-直放站干扰' "+
"WHEN 4 then '网外干扰-直放站干扰' WHEN 5 then '网内干扰' WHEN 6 then '网外干扰' WHEN 7 then '无法确定' WHEN 8 then '' ELSE '其他' END as result_,"+
" FREQ from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean);
*/
String sqlQuery = "select MO,CELLNAME,BSC,REGION,TOWN,round(BPI24,0),THOUR||':00',dhour," +
" decode(result_,0,'网外干扰 - cdma杂散干扰',1,'网内干扰 - 互调干扰',2,'网内干扰 - 频点干扰',3,'网内干扰 - 直放站干扰',4,'网外干扰 - 直放站干扰',5,'网内干扰',6,'网外干扰',7,'无法确定',8,NULL,'其他') as result_,"+
" FREQ from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean)+" and mo in ( select mo from CY_FASDATA_ITAS ts where ttime in ('"+webToolBean.getTtime()+"','"+webToolBean.getTtime2()+"') group by mo having count(*)>"+webToolBean.getDay()+")";
StringBuffer sbCount = new StringBuffer(sqlCount);
StringBuffer sbQuery = new StringBuffer(sqlQuery);
sbQuery.append(" order by ts."+gridPager.getSortBy()+" "+ gridPager.getDir());
Query query = em.createNativeQuery(sbCount.toString());
gridPager.pGParams(query, "ts");
this.setQueryParams(query, webToolBean);
BigDecimal count=(BigDecimal)query.getSingleResult();
gridPager.setFullListSize(count.intValue());
query = em.createNativeQuery(sbQuery.toString());
gridPager.pGParams(query, "ts");
this.setQueryParams(query, webToolBean);
query.setMaxResults(gridPager.getRecordPage());
query.setFirstResult(gridPager.getStartIndex());
List list = query.getResultList();
gridPager.setList(StringUtil.toBoxListObject(list));
gridPager.pGExportCSV(query,gridPager);
return gridPager;
}
分享到:
相关推荐
JPA允许开发者使用对象关系映射(ORM)来处理数据库操作,使得开发者可以使用面向对象的方式进行编程,而无需过多关注底层SQL语句。Spring Data JPA是Spring对JPA的扩展,它进一步简化了数据访问层的开发,提供了...
JPA是Java EE平台的一部分,它提供了一种规范来处理对象关系映射(ORM),允许我们在Java应用中操作数据库,而无需编写SQL语句。JPA通过ORM映射文件(通常为`persistence.xml`)将Java对象映射到数据库表。SpringData ...
JPA通过提供对象/关系映射(ORM)功能,使得开发人员可以使用面向对象的方式来操作数据库,而无需直接编写SQL语句。JPA简化了数据访问,并且支持事务管理,使得在Java应用中处理数据库变得更加方便。 在描述的场景...
另外,JPA还支持批量更新,可以使用`Query`对象的`executeUpdate()`方法执行HQL(Hibernate Query Language)或JPQL更新语句。 对象的删除操作相对简单。通过`EntityManager`的`remove()`方法,你可以删除一个实体...
JPA provider(例如Hibernate)可以根据JPA的规范来生成对应的数据库表结构和SQL语句。JPA和Hibernate的关系可以概括为:JPA是一个抽象层次,而Hibernate是一个具体的实现。 七、建表过程 建表过程可以分为两种...
SQL*Plus是Oracle提供的一款交互式工具,它允许用户输入并执行SQL语句和PL/SQL代码块,同时还支持脚本运行和简单报告生成。随着Oracle版本的升级,SQL*Plus的功能不断丰富,如在Oracle 8i中,已经包含了启动和停止...
在这个系统中,JPA通过Hibernate实现,用于处理数据库的CRUD(创建、读取、更新、删除)操作,使得数据库交互更加简洁,避免了繁琐的SQL语句编写。同时,JPA支持实体关系映射,可以将数据库表与Java类对应,方便数据...
此外,随着框架如Spring的普及,使用JdbcTemplate或JPA(Java Persistence API)等高级抽象,可以进一步简化数据库操作,提高代码的可读性和可维护性。 总之,"Java编程实例JDBC+MySQL+Oracle+SQLServer"这个主题...
它为Java开发者提供了一种对象关系映射(ORM)机制,将业务对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL语句的编写。 **1. TOPLink JPA** TOPLink JPA是Oracle公司...
例如,可以创建`UserRepository`接口,定义CRUD操作,并在实现类中具体实现这些方法,使用JPA或者MyBatis的查询语句。 控制层(Controller Layer)是接收HTTP请求并调用服务层的方法。例如,创建`UserController....
PreparedStatement可以防止SQL注入,并允许预编译的SQL语句,提高性能。 8. **错误处理**:在处理数据库连接时,务必处理可能抛出的SQLException和其他异常,确保程序的健壮性。 9. **安全性**:确保数据库连接的...
- **简化编程模型**:通过Repository接口,开发者只需要编写查询方法的签名,Spring JPA会自动生成对应的SQL语句。 - **事务管理**:Spring JPA与Spring的事务管理集成,提供了声明式事务处理,使得事务管理更加...
这个工具对于开发者来说非常有用,因为它可以帮助定位性能瓶颈,特别是在使用 ORM(对象关系映射)框架如 Hibernate、JPA 等时,这些框架通常会生成复杂的 SQL 语句,而直接查看源代码并不容易获取这些语句。...
它简化了在Java应用程序中处理数据库的操作,提供了一种面向对象的方式来操作数据,而无需直接编写SQL语句。JPA的核心是ORM(Object-Relational Mapping),它允许我们将Java类映射到数据库表,使得数据操作如同操作...
下面,我们可以使用 Log4jdbc 打印完整的 SQL 语句: ```java @Service public class MyService { @Autowired private JdbcTemplate jdbcTemplate; public void test() { String sql = "SELECT * FROM users ...
通过JPA,开发者可以使用面向对象的方式来处理数据库操作,而不是直接编写SQL语句。 2. **实体(Entity)**: 在JPA中,实体类是Java对象,它们代表数据库表中的记录。通过在类上使用`@Entity`注解,JPA知道这个类是...
Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而不用过多地处理SQL语句。Oracle则是一种广泛应用的关系型数据库管理系统,尤其在企业级应用中占据主导地位。本文将...
通过它,开发者可以使用面向对象的方式来访问数据库,减少了大量手动编写的SQL语句。 5. **Repository模式**:在Spring Data JPA中,通过定义接口并继承Repository,可以自动生成实现类,提供CRUD操作,无需编写...
它的主要用途是在不修改代码的情况下,帮助开发者监控和调试应用程序与数据库之间的交互,尤其适用于那些使用ORM(对象关系映射)框架如Hibernate、JPA等的应用程序。p6spy能够拦截并记录通过JDBC执行的所有SQL语句...
3. **灵活性**:JPA支持多种数据库,包括但不限于MySQL、Oracle、PostgreSQL等,提供了高度的灵活性和广泛的适用性。 4. **事务管理**:JPA内置了对事务的支持,能够处理本地事务以及更复杂的分布式事务,确保数据的...