JAVA获取oracle中sequences的最后一个值
2015-02-27 20:09
295 查看
项目中,用到一个序列作单号,框架用的是ssh,在dao层去拿的时候,运行时报错为dual is not mapped,[select *.nextval nextvalue from dual]
后来检查发现,获取方式不对,于是改成下面这样,就可以正常获取了
//获取seq的最后一个值 public String findSeq(){ try { String sql = "select PATIENT_SEQ.nextval nextvalue from dual"; Integer maxId = (Integer)(this.getSession().createSQLQuery(sql).addScalar("nextvalue", Hibernate.INTEGER) ).uniqueResult(); return maxId.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }
如果集成了HibernateDaoSupport还可以使用一下方法:
public String findSeq(){ String queryString = "select PATIENT_SEQ.Nextval nextvalue from dual"; return (String) getHibernateTemplate().find(queryString).get(0); }
1.先返回list集合getHibernateTemplate().find(queryString) 2.取得list的第一个元素:list.get(0); 3.list.get(*)的结果是ojbect,所以要么强转(String)list.get(0);,要么list.get(0).toString();
相关文章推荐
- java获取oracle中CLOB字段,转换成String
- java获取sql,oracle的字段详细信息(字段类型,长度,精度)
- 关于java获取Oracle中date类型字段问题
- Oracle Procedure (PL/SQL) 实践归纳(3)之在Java利用Procedure获取结果集
- JAVA,jsp,oracle获取系统当前时间以及日期格式转换!
- java获取整个数据表中的数据(Oracle)
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
- Java获取Oracle中CLOB字段转换成String
- 【Java获取Oracle中CLOB字段转换成String】
- java获取某个oracle序列的当前最大值
- JAVA结合Oracle的Database Change Notification实现替代获取实时数据需要的刷库操作
- 解决java获取oracle数据库值时丢失小数点前面的0
- 执行循环Java获取Oracle中CLOB字段转换成String
- java call Oracle procedure 获取返回值
- Java获取Oracle中CLOB字段转换成String
- java中的反射 2.1——类:获取类对象@译自Oracle官方文档
- java获取Oracle和access数据库结构
- java解析oracle日志,获取指定日期后的更新和插入数据
- Java 获取Oracle ROWID
- Java获取Oracle中CLOB字段转换成String