版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haoranhaoshi/article/details/84854828
package GetImage;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import java.io.InputStream;
import java.sql.*;
public class GetImage extends Application {
private static final String dbPath = "D:/Image_DBFile/";
private Connection connection;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Pane pane = new Pane();
ImageView imageView = new ImageView(getImageFromDB());
imageView.setFitWidth(200);
imageView.setFitHeight(200);
imageView.setX(0);
imageView.setY(0);
pane.getChildren().add(imageView);
primaryStage.setScene(new Scene(pane));
primaryStage.show();
}
private Image getImageFromDB(){
Image image = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath + "MyImages.db");
String sql = "select ...";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery();
if(resultSet.next()){
InputStream inputStream = resultSet.getBinaryStream(Blob类型的Image的属性索引,从1开始);
image = new Image(inputStream);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return image;
}
}