`

用JPA连Oracle不可以使用的SQL语句

    博客分类:
  • JPA
 
阅读更多

可以写成:


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;
	}
分享到:
评论

相关推荐

    springboot+jpa+oracle

    JPA允许开发者使用对象关系映射(ORM)来处理数据库操作,使得开发者可以使用面向对象的方式进行编程,而无需过多关注底层SQL语句。Spring Data JPA是Spring对JPA的扩展,它进一步简化了数据访问层的开发,提供了...

    springboot+jpa+oracle+maven

    JPA是Java EE平台的一部分,它提供了一种规范来处理对象关系映射(ORM),允许我们在Java应用中操作数据库,而无需编写SQL语句。JPA通过ORM映射文件(通常为`persistence.xml`)将Java对象映射到数据库表。SpringData ...

    JPA连接数据库,非常详细

    JPA通过提供对象/关系映射(ORM)功能,使得开发人员可以使用面向对象的方式来操作数据库,而无需直接编写SQL语句。JPA简化了数据访问,并且支持事务管理,使得在Java应用中处理数据库变得更加方便。 在描述的场景...

    JPA加载_更新_删除对象及使用JPQL语句进行查询

    另外,JPA还支持批量更新,可以使用`Query`对象的`executeUpdate()`方法执行HQL(Hibernate Query Language)或JPQL更新语句。 对象的删除操作相对简单。通过`EntityManager`的`remove()`方法,你可以删除一个实体...

    JPA注解 和hibernate 建表

    JPA provider(例如Hibernate)可以根据JPA的规范来生成对应的数据库表结构和SQL语句。JPA和Hibernate的关系可以概括为:JPA是一个抽象层次,而Hibernate是一个具体的实现。 七、建表过程 建表过程可以分为两种...

    ORACLE &SQL PROGRAMING

    SQL*Plus是Oracle提供的一款交互式工具,它允许用户输入并执行SQL语句和PL/SQL代码块,同时还支持脚本运行和简单报告生成。随着Oracle版本的升级,SQL*Plus的功能不断丰富,如在Oracle 8i中,已经包含了启动和停止...

    基于springboot、Jpa、Oracle、maven和jsp等技术的简单人事档案管理系统.zip

    在这个系统中,JPA通过Hibernate实现,用于处理数据库的CRUD(创建、读取、更新、删除)操作,使得数据库交互更加简洁,避免了繁琐的SQL语句编写。同时,JPA支持实体关系映射,可以将数据库表与Java类对应,方便数据...

    Java编程实例JDBC+MySQL+Oracle+SQLServer

    此外,随着框架如Spring的普及,使用JdbcTemplate或JPA(Java Persistence API)等高级抽象,可以进一步简化数据库操作,提高代码的可读性和可维护性。 总之,"Java编程实例JDBC+MySQL+Oracle+SQLServer"这个主题...

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    它为Java开发者提供了一种对象关系映射(ORM)机制,将业务对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL语句的编写。 **1. TOPLink JPA** TOPLink JPA是Oracle公司...

    基于springboot的mysql,sqlserver,oracle数据源切换

    例如,可以创建`UserRepository`接口,定义CRUD操作,并在实现类中具体实现这些方法,使用JPA或者MyBatis的查询语句。 控制层(Controller Layer)是接收HTTP请求并调用服务层的方法。例如,创建`UserController....

    EJB连接Oracle数据库

    PreparedStatement可以防止SQL注入,并允许预编译的SQL语句,提高性能。 8. **错误处理**:在处理数据库连接时,务必处理可能抛出的SQLException和其他异常,确保程序的健壮性。 9. **安全性**:确保数据库连接的...

    spring jpa

    - **简化编程模型**:通过Repository接口,开发者只需要编写查询方法的签名,Spring JPA会自动生成对应的SQL语句。 - **事务管理**:Spring JPA与Spring的事务管理集成,提供了声明式事务处理,使得事务管理更加...

    用 p6spy 来观察 Java 程序中执行的所有 SQL 语句.docx

    这个工具对于开发者来说非常有用,因为它可以帮助定位性能瓶颈,特别是在使用 ORM(对象关系映射)框架如 Hibernate、JPA 等时,这些框架通常会生成复杂的 SQL 语句,而直接查看源代码并不容易获取这些语句。...

    jpa的主要jar文件

    它简化了在Java应用程序中处理数据库的操作,提供了一种面向对象的方式来操作数据,而无需直接编写SQL语句。JPA的核心是ORM(Object-Relational Mapping),它允许我们将Java类映射到数据库表,使得数据操作如同操作...

    springboot log4jdbc 打印完整sql

    下面,我们可以使用 Log4jdbc 打印完整的 SQL 语句: ```java @Service public class MyService { @Autowired private JdbcTemplate jdbcTemplate; public void test() { String sql = "SELECT * FROM users ...

    04_JPA详解_第一个JPA实例与JPA主键生成策略.zip

    通过JPA,开发者可以使用面向对象的方式来处理数据库操作,而不是直接编写SQL语句。 2. **实体(Entity)**: 在JPA中,实体类是Java对象,它们代表数据库表中的记录。通过在类上使用`@Entity`注解,JPA知道这个类是...

    hibernate连接Orcale

    Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而不用过多地处理SQL语句。Oracle则是一种广泛应用的关系型数据库管理系统,尤其在企业级应用中占据主导地位。本文将...

    oracle-SpringBoot Oracle示例-Samples.zip

    通过它,开发者可以使用面向对象的方式来访问数据库,减少了大量手动编写的SQL语句。 5. **Repository模式**:在Spring Data JPA中,通过定义接口并继承Repository,可以自动生成实现类,提供CRUD操作,无需编写...

    用p6spy来观察Java程序中执行的所有SQL语句[整理].pdf

    它的主要用途是在不修改代码的情况下,帮助开发者监控和调试应用程序与数据库之间的交互,尤其适用于那些使用ORM(对象关系映射)框架如Hibernate、JPA等的应用程序。p6spy能够拦截并记录通过JDBC执行的所有SQL语句...

    JPA规范实现与总结

    3. **灵活性**:JPA支持多种数据库,包括但不限于MySQL、Oracle、PostgreSQL等,提供了高度的灵活性和广泛的适用性。 4. **事务管理**:JPA内置了对事务的支持,能够处理本地事务以及更复杂的分布式事务,确保数据的...

Global site tag (gtag.js) - Google Analytics