草庐IT

PreparedStatement

全部标签

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

java - 从 XML 解析,插入到 mysql;字符给出 java.sql.SQLException : Incorrect string value

我正在解析一堆XML文件并将从中获得的值插入到MySQL数据库中。mysql表的字符集设置为utf8。我正在使用以下连接url连接到数据库-jdbc:mysql://localhost:3306/articles_data?useUnicode=false&characterEncoding=utf8大多数具有unicode字符的字符串值都可以正常输入(如希腊字母等),除了一些具有数学符号的字符串值。特别是一个例子-当我尝试插入一个带有数学脚本大写字母g的字符串时(img位于www.ncbi.nlm.nih.gov/corehtml/pmc/pmcents/1D4A2.gif)(htt

java - 结果集中的 fetchsize 默认设置为 0

我必须查询一个数据库,结果集非常大。我正在使用MySQL作为数据库。为了在大量搜索后避免“OutOfMemoryError”,我有两个选择:一个使用LIMIT(特定于数据库),另一个使用jdbcfetchSize属性。我已经测试了选项1(LIMIT),它可以正常工作,但它不是所需的解决方案。我不想这样做。使用jdbc我发现ResultSet大小默认设置为0。我怎样才能将其更改为其他值。我尝试了以下方法:a)第一次尝试:rs=preparedStatement.executeQuery();rs.setFetchSize(1000);//Notpossibleasexceptionocc

java - 在 MySQL : INT vs LONG vs BIGINT 中存储美元金额

我正在构建一个数据库,我需要在其中存储货币值。我将货币值存储为美分($100.00=10000¢)。因此,我决定不使用INT来存储货币值(带符号的int仅限于存储$21,474,836.48)。我看到MySQL还有另外两个相似的类型:BIGINT和LONG。经过研究但无法找出区别后,我随意决定使用BIGINT。但是当我去写PreparedStatement时:intid=...;BigIntegeramount=...;Stringsql="insertintotransaction(id,amount)VALUES(?,?)";PreparedStatementpstmt=conn.