草庐IT

jdbc-Statement

全部标签

java - Hibernate 的 setFirstResult() 问题与 Oracle jdbc 驱动程序

我正在尝试使用setFirstResult()和setMaxResults()对Hibernate进行分页,但是当将第一个结果设置为0时我没有得到预期的结果.执行以下操作时:Queryquery=session.createQuery(queryString);query.setFirstResult(0);query.setMaxResults(30);Listlist=query.list();//list.size()returns10但如果我将第一个结果设置为1(或任何不同于0的值):query.setFirstResult(1);query.setMaxResults(30)

java - 如何避免 "Security - A prepared statement is generated from a nonconstant String"FindBugs 警告

我正在从事一个项目,其中有一段代码如下所示:Stringsql="SELECTMAX("+columnName+")FROM"+tableName;PreparedStatementps=connection.prepareStatement(sql);有什么方法可以更改此代码,以便FindBugs停止给我一个“安全性-准备好的语句是从非常量字符串生成的”警告?请假设此代码对于SQLINJECTION是安全的,因为我可以在代码的其他地方控制可能的“tableName”和“columnName”的值(它们不直接来自用户输入)。 最佳答案

java - Hibernate 和 JDBC 在一个事务中

我有一个方法,标记为@Transactional。它由几个函数组成,其中一个使用JDBC,第二个使用Hibernate,第三个使用JDBC。问题是Hibernate函数所做的更改在最后一个函数中是不可见的,它适用于JDBC。@Transactionalvoidupdate(){jdbcUpdate1();hibernateupdate1();jdbcUpdate2();//resultsofhibernateupdate1()arenotvisiblehere}所有函数都配置为使用相同的数据源:代码中使用了myDataSourcebean。myDataSource.getConnect

java - 预编译 JDBC PreparedStatement 有什么作用?

“预编译”语句有什么作用,因为我已经看到了如果我用错误的SQL语法编写编译不报告的准备好的语句任何问题!那么,如果预编译准备好的语句不检查语法有效性,它到底做了什么? 最佳答案 创建PreparedStatements可能涉及也可能不涉及SQL语法验证甚至数据库服务器往返,这完全取决于所使用的JDBC驱动程序。有些司机会进行往返或验证,有些则不会。因此在某些JDBC驱动程序上,PreparedStatement并不比普通的Statement更“准备”。(换句话说:对于某些JDBC驱动程序,PreparedStatement表示服务器

java - 如何通过 JDBC 使用包含问号 "?"的 PostgreSQL JSON(B) 运算符

PostgreSQL知道一些时髦的ASCII艺术运算符,它们在名称中使用问号字符,例如theseJSONoperators:?字符串是否作为JSON值中的顶级键存在??|这些数组字符串是否作为顶级键存在??&所有这些数组字符串都作为顶级键存在吗?问题是官方的PostgreSQLJDBC驱动程序似乎无法正确解析包含此类运算符的SQL字符串。它假设问号是一个普通的JDBC绑定(bind)变量。以下代码...try(PreparedStatements=c.prepareStatement("select'{}'::jsonb?|array['a','b']");ResultSetrs=s.

java - java JDBC中的数值溢出异常

此查询返回数字溢出异常。从1到14的值很容易检索,但不能检索更大的值(从15开始)。我正在使用ORACLEXE。我该如何解决这个问题?这是我的代码:pst=con.prepareStatement("Select*fromstudentwheresut_idlike'Kul7Dub514'");rs=pst.executeQuery();while(rs.next){smob.setText(Integer.toString(rs.getInt(15)));fmob.setText(Integer.toString(rs.getInt(16)));mmob.setText(Intege

用于数据库应用程序的 Java JDBC 与 JPA

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想先声明一下,我是一个正在寻求建议的新手,因为我正在努力养成良好的习惯。我现在正在开发的应用程序是一个高度集成的数据库应用程序。当我开发、探索和实现我的每个实体的需求时,我发现我的类只是用代码爆炸,以不同的方式对每个实体运行查询。虽然现在这可能不是一件坏事,但就维护而言,我预见我的应用程序将成为调试和更新的噩梦。是否有任何JDBC专家对设计模式有任何建议,以帮助减少用于处理所有这些查询的

Java JDBC 保存点

读书http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html没有很好地说明从数据库角度映射了哪些保存点。设置保存点后,数据库更改是否可用于其他事务?谢谢 最佳答案 保存点标记了当前事务可以回滚到的点。它可以选择只回滚其中的一部分,而不是回滚所有更改。例如,假设您:开始交易,向表中插入10行,设置一个保存点,插入另外5行,回滚到保存点,提交交易。执行此操作后,表格将包含您插入的前10行。其他5行将被回滚删除。设置保存点不会将任何数据“保存”到数据库中。它不

java - 找不到 com.microsoft.sqlserver.jdbc.SQLServerDriver 错误

我正在尝试从Java连接到我的SQLServer2008数据库,但我遇到了同样的问题thread.StringuserName="xxxx";Stringpassword="xxxx";Stringurl="jdbc:sqlserver:xxx.xxx.xxx.xxx;databaseName=asdfzxcvqwer;integratedSecurity=true";Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");connection=DriverManager.getConnection(url,userN

java - 连接到 RAC 数据库的正确 JDBC URL 是什么

我们使用一个简单的(自定义的)JDBC连接器类从我们的代码连接到Oracle。此类从资源文件中读取连接属性并尝试建立与Oracle的连接(瘦连接)。但是,最近数​​据库已移动到RAC,现在应用程序无法连接到数据库。这是TNSPING输出:UsedLDAPadaptertoresolvethealiasAttemptingtocontact(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=tst-db1.myco.com)(PORT=1604))(ADDRESS=(