mysql에 그림을 추가하는 방법: 먼저 FileInputStream을 사용하여 그림을 읽는 방법을 만든 다음 데이터베이스에 연결하고 sql 문을 작성한 다음 preparedstatement를 사용하여 sql 문을 실행합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, mysql 버전 8.0.22 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.
관련 무료 학습 권장사항: mysql 비디오 튜토리얼
mysql에 그림을 추가하는 방법:
1 효과
은 문자열이 아닙니다. 데이터 유형은 왼쪽에 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!