草庐IT

SQL语句分类

全部标签

java - Java 中的 ExecuteUpdate sql 语句不起作用

我正在学习如何将SQL与Java结合使用。我已成功安装JDBC驱动程序,并且能够从数据库中读取记录并将其打印在屏幕上。我的问题发生在尝试执行更新或插入语句时,但没有任何反应。这是我的代码:问题所在的方法publicstaticvoidupdateSchools(ArrayListnewSchool){try{openDatabase();stmt=c.createStatement();intnumberOfRows=stmt.executeUpdate("UPDATEschoolsSETaddress='abc'WHEREabbreviation='2';");System.out.

java - 是否有行为类似于自动 ID SQL 表的 Java 集合(或类似集合)?

请注意,我实际上并没有在这里对数据库做任何事情,所以ORM工具可能不是我要找的东西。我想要一些容器,每个容器都包含一些对象,一个容器中的所有对象都属于同一类。容器应该显示数据库表的一些行为,即:允许将对象的字段之一用作唯一键,即。e.在该字段中具有相同值的其他对象不会添加到容器中。接受新对象后,容器应发出一个数字ID,该ID返回给插入方法的调用者。容器不应在请求“重复条目”时抛出错误,而应跳过插入并返回已存在对象的键。现在,我将编写一个通用容器类,它接受实现接口(interface)的对象以获取键字段的值,并使用以这些值作为键值的HashMap作为实际存储类。是否有更好的方法使用现有的

java - Oracle JDBC 驱动程序语句缓存与 BoneCP 语句缓存?

我正在使用OracleJDBC驱动程序并评估BoneCP。两者都实现了语句缓存。我在问自己是否应该使用其中一个来进行语句缓存。你怎么看?每种方式的优缺点是什么? 最佳答案 作为BoneCP的作者,我可以填写我的部分:如果您忘记正确关闭语句,使用池缓存可以为您提供堆栈跟踪。如果您使用的是hibernate/springjdbc模板或其他一些托管连接,这无关紧要,因为它总是会为您关闭。语句缓存与每个连接相关联,因此如果您有100个连接并且每次都继续执行相同的语句,则每个连接都需要一段时间才能填满它的缓存。如果DB支持它,驱动程序可能会进

java - 如何创建 oracle.sql.ARRAY 对象?

这个问题和我原来的问题有关HowtoreturnanarrayfromJavatoPL/SQL?,但更具体。我一直在读OracleDatabaseJDBCDeveloper'sGuide和CreatingARRAYobjectsServer-SideInternalDriveroracle.jdbc.OracleConnectionoracle.jdbc.OracleDriver但我仍然没有写出可以使用创建ARRAY的最少代码ARRAYarray=oracle.jdbc.OracleConnection.createARRAY(sql_type_name,elements);按照Cre

java - 文本分类分类器

有人知道好的开源文本分类模型吗?我知道StanfordClassifier、Weka、Mallet等,但它们都需要培训。我需要将新闻文章分类为体育/政治/健康/游戏/等。是否有任何预训练模型?Alchemy、OpenCalais等都不是选项。我需要开源工具(最好是Java)。 最佳答案 预训练模型假定用于训练的语料库与您尝试分类的文档来自完全相同的领域。通常这不会给你想要的结果,因为你没有原始语料库。机器学习不是静态的,当您训练分类器时,您需要在新功能/信息可用时更新模型。例如,在体育/政治/健康/游戏等领域对新闻文章进行分类。首先

java - 如何配置 Spring Controller 和/或 JAXB 以帮助防止 SQL/XSS 注入(inject)

我在Spring中有一个Controller,其方法如下所示@RequestMapping(value="/v1/something",method=RequestMethod.POST,headers="content-type=application/xml")@Validpublicvoidsomething(@RequestBodyfinalSomeBodymyDto.....我想确保请求主体不包含任何SQL或Javascript字符,以帮助避免SQL注入(inject)、XSS攻击等。JAXB是否已处理该场景?我正在考虑编写一个过滤器,但我只能读取一次请求正文?有什么建议吗?

java - 子句和 setArray() 中的 Postgres SQL

我正在使用Java1.7、JDBC4和Postgres。我正在尝试使用带有数组的PreparedStatement来填充SQLin子句。但是,生成的SQL中似乎有“{”和“}”。这是代码:PreparedStatementptmt=connection.prepareStatement("select*fromfoowhereidin(?)");String[]values=newString[3];values[0]="a";values[1]="b";values[2]="c";ptmt.setArray(1,connection.createArrayOf("text",valu

java - 使用 JDBC 在 SQL 中的日期之间搜索?

我目前正在编写一个JavaSwing应用程序,它从MYOB数据库文件中读取数据并在表格中显示某些信息。我已经能够成功生成所需的SQL语句,但我在添加日期之间的搜索功能时遇到了问题(我们的数据库非常大,因此我们试图限制结果)。下面是我的一个查询示例(用Java编写):rs=stmt.executeQuery("SELECTsales.InvoiceNumber,sales.ShipToAddress,sales.Date"+"FROMsales,customers"+"WHEREsales.CardRecordID=customers.CardRecordID"+"ANDcustomer

java - 如何在 JDBI sql api 中打印 @SqlQuery 注释

我想知道jdbisqlapi为了调试目的到底处理了什么sql查询。我的界面类如下publicintefacemyinteface{@SqlQuery("select:c1fromtablenamewherecond=:cd")StringreturnMeValue(@Bind("c1")Stringc1,@Bind("cd")Integercd);}然后在另一个类中调用为Stringresult=myinterfaceclassobject.returnMeValue("Name",1);我没有得到预期的答案,所以我想看看实际进入sql查询的内容。那么有什么方法可以得到最终处理的查询吗

java - 如何在 MyBatis 中使用 TypeHandler 进行 INSERT 语句

有配置:SELECT`column1`,`column2`,`column3`FROM`table`;对于select语句一切正常,调用处理程序。如何编写INSERT语句以在插入数据时为column3调用相同的处理程序? 最佳答案 您可以按如下方式使用INSERT语句。INSERTintotable(column1,column2,column3)values(#{prop1},#{prop2},#{prop3,typeHandler=package.Typehandler})编辑:使用typeHandler=而不是typehand