草庐IT

java - SQL准备语句如何通过多个可能的菜单选择进行选择?

所以我有4个菜单选择(产品、位置、类(class)类型和类别),所有这些都可以为null(使用JSF编程,但这应该与这个问题无关,因为它是一个SQL问题)。菜单选择将向托管bean发送用户选择的变量,并使用准备好的语句使用用户选择的菜单中的信息(如果有)搜索数据库表。如果用户将菜单项留空,它应该搜索所有内容。如果用户留下1或2或3个带有信息的菜单项,而另一个为空,则应相应地进行搜索。我的问题是,如果bean中的一堆if/then语句附加到每个适当的sql语句,我该如何做到这一点?或者是否有一个更好的sql语句可以完成所有这些?我在Java中使用准备好的语句。我试过这个:if(produ

java - 结果集 TYPE_SCROLL_SENSITIVE 和 TYPE_SCROLL_INSENSITIVE 之间的区别

我试图了解这两种创建语句的方法之间的区别:1:Statementstatement=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);2:Statementstatement=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);第二个参数相同但第一个参数不同来自java文档:resultSetType-aresultsettype;oneo

java - 如何从 DB2 获取描述性错误消息?

当我在DB2上通过JDBC调用SQL语句并且该语句失败时,我捕获了一个带有以下消息文本的SQLException:com.ibm.db2.jcc.a.nn:DB2SQLError:SQLCODE=-206,SQLSTATE=42703,SQLERRMC=O.METADATENSATZ,DRIVER=3.52.95我尝试根据errorlistpublishedbyIBM自动翻译消息,但在引用异常的其他元素的消息中有占位符。在异常中查找这些元素时,我找到了DB2ExceptionFormatter并尝试使用它来访问缺失的元素。但我在这里停了下来,因为DB2ExceptionFormatte

java - 带有普通 JDBC 的 DAO 生成器工具

我正在寻找一个很好的DAO生成器,它可以使用plainJDBC4和基本的CRUD构建类操作。我看到了NetBeans使用JPA生成类和JavaBeans或实体和Hibernate.我正在寻找类似这样的其他工具,但我要求生成的类不使用第三方库,只使用JRE.我很感激你的帮助。 最佳答案 我认为您可能有兴趣看一看AuDAO源代码(您可以“使用”它生成DAO和Bean的部分并编写执行类似操作的代码-它是开源的)这个库完全符合您的描述:但是,我认为您可能没有捕获要点,使用像Hibernate这样的工具的优势在于为开发人员提供了与数据库的松散

java - 如何使用 JDBC 和 HSQLDB 检索以前自动生成的 PK ID 值

我正在使用JDBC和HSQLDB2.2.9。将新行插入数据库并随后保留其id的最有效和最准确的方法是什么?(PK设置为自动递增)值?我需要这样做的原因可能很明显,但我会用一个例子来说明讨论:假设有一个Customer具有PersonId的表带有FK约束的字段引用来自Person的行table。我要新建一个Customer,但要做到这一点,我需要先创建一个新的Person并使用新的Person.id要设置的值Customer.PersonId.我见过四种方法来解决这个问题:插入Person行设置id字段到null.HSQLDB生成下一个id值自动。然后对Person进行查询表获取id刚刚

java - Mac OSX 上 VM 中的 Oracle Database 12c

我正在尝试在我的OSX笔记本电脑上启动和运行开发环境,在Eclipse中创建JSP,使用Tomcat服务器运行,并连接到Oracle数据库。Eclipse和Tomcat配合得很好,我可以制作JSP等等。现在最困难的部分是在MountainLion上启动和运行Oracle数据库,并让Eclipse连接到它。在广泛谷歌搜索之后,我找到了一些资源:http://dimitrisli.wordpress.com/2012/08/08/how-to-install-oracle-database-on-mac-os-any-version/http://barrymcgillin.blogspo

java - 获取 JDBC 类型的异常无方言映射

我是hibernate和java的新手。我正在尝试执行nativesql查询,但我被卡住了。任何人都可以帮助我或检查我在哪里做错了吗?我的java代码是:try{trns=session.beginTransaction();Stringsql="selectprinciple,interestfromsalaryinfowhereempid="+selectedempid+"";SQLQueryquery=session.createSQLQuery(sql);Listrows=query.list();for(Object[]row:rows){Salaryinfosi=newSa

java - Oracle PreparedStatement - 一些开发人员的 NullPointerException,但不是全部

项目概览我有一个具有以下属性的项目:数据库:Oracle12c1个表:MY_TABLE2列:ID:PK,VARCHAR2,32字节大小限制,默认值=SYS_GUID()MY_OBJ:存储一个JSON对象以备将来使用应用程序框架/平台:Spring、Java8u77问题我正在尝试运行以下准备好的语句,它应该为插入的对象输出新生成的key/ID。不幸的是,我不断收到与该语句相关的NullPointerException。奇怪的是,我们团队中75%的人遇到了同样的问题,而我们团队中的其他25%的代码运行良好。问题为什么下面的代码在一台机器上运行正常,但在其他机器上返回错误?如何在所有机器上运

java - 关于字节数组,postgres jdbc 8.4 和 9 之间有什么变化?

我正在运行带有PostgreSQL9.0的MacOSX10.6。我写了一个简单的Java应用程序,它在bytea字段中插入一个图像,然后查询同一个字段来检查它。表格:CREATETABLEtest.test_table(idintegerNOTNULL,imagebytea,CONSTRAINTtest_table_pkeyPRIMARYKEY(id));程序是这样的://insertthefilePreparedStatementps=connection.prepareStatement("INSERTINTOtest.test_table(id,image)VALUES(?,?)

java - 无法为连接 URL '' : Tomcat & SQL Server JDBC driver 创建类 'null' 的 JDBC 驱动程序

我已经尝试了几乎所有我能找到的东西,如果有人能够帮助我,我将永远感激不尽(并且在我的时间里有更多的自由)。基本上,我在Tomcat7.0(在Eclipse中运行时和通过startup.bat运行时)都有一个错误,一旦数据开始被我的动态Web应用程序访问,它就会说:CannotcreateJDBCdriverofclass''forconnectURL'null'java.lang.NullPointerExceptionatsun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)atsun.jdbc.odbc.J