jjzjj

preparedstatement

全部标签

java - 什么时候关闭 PreparedStatement.setBlob 使用的 InputStream 是安全的?

PreparedStatement.setBlob、PreparedStatement.setBinaryStream和少数其他PreparedStatement方法可以从中读取查询数据输入流。不幸的是,文档对何时读取数据一点也不清楚。它只是说datawillbereadfromthestreamasneededuntilend-of-fileisreached.对于何时需要数据,我可以想到三种可能的解释:在调用setBlob(或其他具有InputStream参数的方法)返回之前语句执行时事务提交时那么,在什么时候关闭InputStream(或相关InputStream所依赖的其他资源

关于Blob和Clob的Java JDBC,需要上传一个doc文件到MySQL数据库

我目前正在自己​​试验,学习一些JDBC以及如何将对象持久保存到数据库中。现在我正在尝试将文档上传到数据库。我收到以下错误:Exceptioninthread"main"java.lang.AbstractMethodError:Methodcom/mysql/jdbc/PreparedStatement.setClob(ILjava/io/Reader;)Visabstractatcom.mysql.jdbc.PreparedStatement.setClob(PreparedStatement.java)atdao.StudentDAO.uploadResume(StudentDA

java - 即使显式设置,PreparedStatement 也永远不会超时

我正在尝试模拟这样一种情况,即我的服务失去与数据库的连接并且无法通过阻止与iptables的连接来执行INSERT,但我无法执行executeQuery()超时方法。我所做的是像这样为PreparedStatement设置超时statement.setQueryTimeout(5)。这是代码。HikariConfigconfig=newHikariConfig();config.setJdbcUrl("jdbc:mysql://db-url/db");config.setUsername("user");config.setPassword("passwd");config.setMa

java - 如何使用 Java ResultSet 和 PreparedStatement 访问 mySQL 枚举字段

快速提问,使用ResultSet和PreparedStatement访问MySQL中的ENUM字段的正确方法是什么? 最佳答案 从来没有,但我会使用字符串,请参阅文档:21.4.4.3.Java,JDBCandMySQLTypes 关于java-如何使用JavaResultSet和PreparedStatement访问mySQL枚举字段,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

java - 使用 MySQL 和 PreparedStatement 的 NullPointerException 和参数索引超出范围异常

我在使用MySQL时遇到此错误,并且不知道如何修复它。自从我从Connection.execute[whatever]()切换,至PreparedStatement,我一直收到此错误,但似乎无法修复。空指针异常:guildinfospace[09:51:56WARN]:java.lang.NullPointerException[09:51:56WARN]:atnet.aspace.guilds.Guild.getGuild(Guild.java:56)[09:51:56WARN]:atnet.aspace.guilds.command.GuildsInfoCommand.execut

java - 如何使用java在mySql的表列中存储数组值

你好,我正在尝试检索两个结果集中的数据。然后我在两个结果集中都存储到字符串数组,在此过程之后我必须将我的字符串数组存储到另一个表如何,所以请告诉我..try{Class.forName("com.mysql.jdbc.Driver");Connectioncon=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/lportal","root","ubuntu123");PreparedStatementstmt=(PreparedStatement)con.prepareStatement("SEL

java - updateCount() 和 executeUpdate() 是否返回相同的东西

Stringquery="UPDATEtable_nameSETtab_attr1=?WHEREtab_attr2=?";PreparedStatementpreparedStatement=connection.prepareStatement(query);preparedStatement.setString(1,"test1");preparedStatement.setString(2,"test2");//case_1intcount=preparedStatement.executeUpdate();/*case_2preparedStatement.execute();

java - 在 Java 中准备 SQL 查询时如何设置整数列表

我有这样的查询-select*fromtblwhere...andcolnamein(2,3,4)当我在Java中使用PreparedStatement准备查询(...'colnamein(?)')时,我应该调用什么setter方法来设置这些整数?整数在int数组中可用,并且大小各不相同。如果重要,数据库是MySQL,并且有问题的列是int类型。 最佳答案 你可以使用另一种语法WHEREcolname=ANY(?)并调用PreparedStatement.setArray()。您必须提供java.sql.Array的实例作为参数。使

Java - 为什么我的插入速度这么慢?

不知何故,我的MySQLInserts真的很慢。即使我使用“批量插入”。大约50次插入需要2000毫秒。这是正常现象还是有改进我的代码的方法?Stringsql="INSERTINTOwlw(wlw_level,wlw_name,wlw_url,wlw_processing,wlw_finished,wlw_source)"+"VALUES(?,?,?,?,?,?)";PreparedStatementpreparedStatement=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);for(QueryStoreqs

java - jdbc PreparedStatement 中的问号问题

这个问题在这里已经有了答案:MySQLSyntaxErrorExceptionnear"?"whentryingtoexecutePreparedStatement(2个答案)关闭6小时前。我在互联网上来回浏览,没有找到解决我的问题的办法。我正在尝试使用参数绑定(bind)与jdbc来查询mysql表,但它一直报告我语句中问号的语法错误。这是我的类(class):packagetodoList_;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importja