如何从jdbc中的数据库mysql获取blob

时间:2018-03-28 16:37:32

标签: mysql jsp servlets

@覆盖     public LinkedList getRoomsDetails(String Id){

    System.out.println("entering into getting room details");
    LinkedList<RoomDetails> list=new LinkedList<RoomDetails>();

    try {
        Class.forName("com.mysql.jdbc.Driver");
        con=DriverManager.getConnection(url,"j2ee","tiger");
        query="select * from roomDetails where hotelId="+"'"+Id+"'";
        stmt=con.createStatement();
        rs=stmt.executeQuery(query);
        while(rs.next())
        {
            RoomDetails room=new RoomDetails();
            room.setHotelId(rs.getString("hotelId"));
            room.setRoomId(rs.getString("roomId"));
            room.setRoomNo(rs.getString("roomNo"));
            room.setRoomType(rs.getString("roomType"));
            room.setPerNightRate(rs.getString("perNightRate"));
            room.setAvailability(rs.getString("availability"));
            room.setImage( (InputStream) rs.getBlob("image"));
            list.add(room);

        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    return list;
}

无法从我的sql中获取blob ...尽管我能够使用输入流插入

1 个答案:

答案 0 :(得分:1)

您需要使用返回InputStream

的getBinaryStream()
room.setImage = rs.getBinaryStream("image");