java使用jdbc连接mysql数据库,表里有记录,但是查询的结果集为空,是啥原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java使用jdbc连接mysql数据库,表里有记录,但是查询的结果集为空,是啥原因相关的知识,希望对你有一定的参考价值。

问题解决了,原因是我在业务层那块逻辑有问题,先把该记录删掉,然后又根据该记录的ID值查找,所以查询结果一直为空。太大意了。
谢谢各位的热心帮助。

参考技术A 如果数据库表中有记录,就证明你的插入没有问题,但是查询为空,检查下你的查询语句,直接使用sysout.out.println()输出看看.我们对于JAVA初学者和自学者,对JAVASE、JAVAEE和三大框架进行辅导,如果需要详细了解,请查看我资料的网址连接,我们一定耐心为你解答。 参考技术B 可能是少一句代码,语句去执行了,但是没有取结果,直接输出,当然没有。 参考技术C 有没有发生异常??

事务有没有提交 ??追问

没有异常,打断点时,输出的sql语句可以在数据库中执行成功,有结果,但是next()就为false

追答

那应该就是你的事务没有提交,你提交一下事务再执行。

Java使用JDBC连接数据库

不同数据库需要去官网上面下载对应的驱动jar ,例如MySQL https://dev.mysql.com/downloads/connector/j/

  properties文件

 1 #MySQL
 2 mysqlDriver:com.mysql.jdbc.Driver
 3 mysqlUrl:jdbc\:mysql\://localhost\:3306\/test
 4 mysqlUser:root
 5 mysqlPassword:root
 6 
 7 #Oracle
 8 oracleDriver:oracle.jdbc.driver.OracleDriver
 9 oracleUrl:jdbc\:oracle\:[email protected]\:1521\:orcl
10 oracleUser:username
11 oraclePassword:password
 1 package com.CommonUtil;
 2 
 3 /**
 4  * JDBC工具类
 5  * @author Andrew
 6  */
 7 
 8 import java.io.IOException;
 9 import java.sql.Connection;
10 import java.sql.DriverManager;
11 import java.sql.ResultSet;
12 import java.sql.SQLException;
13 import java.sql.Statement;
14 import java.util.Properties;
15 
16 public class JDBCUtil {
17     //可以帮助读取和处理资源文件中的信息
18     private static Properties pros = null;        
19     //静态代码块,加载config.properties文件
20     static {
21         pros = new Properties();
22         try {
23             pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("./com/config/config.properties"));
24         } catch (IOException e) {
25             e.printStackTrace();
26         }
27     }
28     
29     /**
30      * 建立MySQL数据库连接
31      * @return    java.sql.Connection连接对象
32      * @throws ClassNotFoundException
33      * @throws SQLException
34      */
35     public static Connection getMySQLConn() throws ClassNotFoundException, SQLException {
36         Class.forName(pros.getProperty("mysqlDriver"));
37         return DriverManager.getConnection(pros.getProperty("mysqlUrl"), pros.getProperty("mysqlUser"), 
38                 pros.getProperty("mysqlPassword"));
39     }
40 
41     /**
42      * 建立Oracle数据库连接
43      * @return    java.sql.Connection连接对象
44      * @throws ClassNotFoundException
45      * @throws SQLException
46      */
47     public static Connection getOracleConn() throws ClassNotFoundException, SQLException {
48         Class.forName(pros.getProperty("oracleDriver"));
49         return DriverManager.getConnection(pros.getProperty("oracleUrl"), pros.getProperty("oracleUser"), 
50                 pros.getProperty("oraclePassword"));
51     }
52     
53     /**
54      * 关闭所有的数据库连接
55      * @param rs    ResultSet对象
56      * @param stmt    Statement对象
57      * @param conn    Connection对象
58      * @throws SQLException
59      */
60     public void closeAll(ResultSet rs, Statement stmt, Connection conn) throws SQLException {
61         if (rs != null)            
62             rs.close();    
63         if (stmt != null)         
64             stmt.close();    
65         if (conn != null)         
66             conn.close();    
67     }
68 
69     //关闭ResultSet结果集
70     public void close(ResultSet rs) throws SQLException {
71         if (rs != null) {
72             rs.close();
73         }
74     }
75 
76     //关闭Statement
77     public void close(Statement stmt) throws SQLException {
78         if (stmt != null) {
79             stmt.close();
80         }
81     }
82     
83     //关闭数据库Connection连接对象
84     public void close(Connection conn) throws SQLException {
85             if (conn != null) {
86                 conn.close();
87             }
88     }
89 }

 

以上是关于java使用jdbc连接mysql数据库,表里有记录,但是查询的结果集为空,是啥原因的主要内容,如果未能解决你的问题,请参考以下文章

java 如何使用jdbc连接mysql

使用 JDBC 将 Java 代码与远程 MySQL 数据库连接 [重复]

JAVA使用JDBC连接MySQL数据库

JAVA使用JDBC连接MySQL数据库-代码部分

Java JDBC连接MySQL数据库,基础语法及自定义JDBC的MySQL工具类

mysql的JDBC连接