>  기사  >  데이터 베이스  >  MySQL에 사진을 추가하는 방법

MySQL에 사진을 추가하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-12-16 11:05:354667검색

mysql에 그림을 추가하는 방법: 먼저 FileInputStream을 사용하여 그림을 읽는 방법을 만든 다음 데이터베이스에 연결하고 sql 문을 작성한 다음 preparedstatement를 사용하여 sql 문을 실행합니다.

MySQL에 사진을 추가하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, mysql 버전 8.0.22 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.

관련 무료 학습 권장사항: mysql 비디오 튜토리얼

mysql에 그림을 추가하는 방법:

1 효과

MySQL에 사진을 추가하는 방법

은 문자열이 아닙니다. 데이터 유형은 왼쪽에 있습니다.

2. Blob 데이터 가져오기

FileInputStream读取图片,还有ByteArrayOutputStream를 사용하여 읽은 데이터를 byte[] 배열에 쓰는 방법을 만든 다음

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;
    }

3 데이터베이스에 연결하고 SQL 문을 작성합니다. Blob Blob을 사용하여 생성한 다음, 얻은 이미지 데이터를 Blob 유형으로 변환한 다음, preparedStatement를 사용하여 sql 문을 실행합니다. 왜냐하면 자리 표시자를 지원하고 blob 주소의 값을 데이터베이스에 직접 쓸 수 있는 setBlob 메서드가 있기 때문입니다. . 그러면 끝났습니다.

    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();
        }
    }

관련 무료 학습 권장사항:

php 프로그래밍
(동영상)

위 내용은 MySQL에 사진을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.