Maison > base de données > tutoriel mysql > le corps du texte

Comment ajouter des images à MySQL

coldplay.xixi
Libérer: 2020-12-17 10:26:40
original
4643 Les gens l'ont consulté

Comment ajouter des images à MySQL : créez d'abord une méthode pour lire les images à l'aide de FileInputStream ; puis connectez-vous à la base de données et écrivez des instructions SQL, puis utilisez PreparedStatement pour exécuter des instructions SQL.

Comment ajouter des images à MySQL

L'environnement d'exploitation de ce tutoriel : Système Windows 7, mysql version 8.0.22 Cette méthode convient à toutes les marques d'ordinateurs.

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo MySQL

Comment ajouter des images à MySQL :

1. L'effet

Comment ajouter des images à MySQL

n'est pas une chaîne enregistrée, vous pouvez voir le type de données à gauche.

2. Obtenir des données blob

Nous créons une méthode pour utiliser FileInputStream pour lire l'image et ByteArrayOutputStream pour écrire les données lues dans l'octet[] tableau, puis

public static byte[] getImgStr(String path) throws IOException {
        FileInputStream fis = new FileInputStream(path);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        int len = 0;
        byte[] b = new byte[1024];
        while ((len = fis.read(b))!= -1){
            out.write(b,0,len);
        }
        //接收out
        byte[] array = out.toByteArray();
        fis.close();
        out.close();
        return array;
    }
Copier après la connexion

3. Connectez-vous à la base de données et écrivez l'instruction SQL

Créez un Blob en utilisant Blob, puis convertissez les données d'image que nous avons obtenues en blob. tapez, puis utilisez PreparedStatement pour exécuter des instructions SQL car il prend en charge les espaces réservés et dispose d'une méthode setBlob qui peut écrire directement la valeur de notre adresse blob dans la base de données. Et puis vous avez terminé.

    public static void main(String[] args) {
        /*
        加载驱动
         */
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //获取连接
            String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
            String user= "root";
            String password ="123456";
            try {
                Connection connection = DriverManager.getConnection(url,user,password);
                /*
                插入图片
                 */
                byte[] arr = getImgStr("图片地址");
                Blob blob = connection.createBlob();
                blob.setBytes(1,arr);
                String sql = "insert into pictures (name,pic,date) values('张三',?,'2015-01-01')";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setBlob(1,blob);
                ps.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } catch (ClassNotFoundException | IOException e) {
            e.printStackTrace();
        }
    }
Copier après la connexion

Recommandations d'apprentissage gratuites associées : programmation php(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!