【问题标题】:How to get class Object from database through serializable method如何通过可序列化的方法从数据库中获取类对象
【发布时间】:2013-12-07 07:33:48
【问题描述】:

线程“main”java.sql.SQLException 中的异常:准备好的语句中不允许使用方法“executeQuery(String)”。

public Object getObject() throws SQLException, IOException, ClassNotFoundException 
    {
        PreparedStatement ps;
        String sql="select * from student";
        ps=con.prepareStatement(sql);
        ResultSet rs=ps.executeQuery(sql);
        Student newStudent=null;
        while(rs.next())
        {
            try (ByteArrayInputStream bais = new ByteArrayInputStream(rs.getBytes("description"))) {
                ObjectInputStream obis;
                obis = new ObjectInputStream(bais);
                newStudent=(Student)obis.readObject();
            }
        }
        return newStudent;

    }

谁能告诉我如何解决这个问题?

【问题讨论】:

    标签: java sql database serialization ooad


    【解决方案1】:

    你应该在Prepared Statement中执行查询

    ps.executeQuery(); //Without parameter
    

    如果您阅读executeQuery(String) 的文档,就会清楚地提到它,

    执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
    *注意:*此方法不能在 PreparedStatement 或 CallableStatement 上调用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多