Large Text Data Types in Oracle Clob long text type (not supported in MySQL, text is used instead) Blob binary type MySQL database Text long text type TINYTEXT: 256 bytes TEXT: 65,535 bytes => ~64kb MEDIUMTEXT: 16,777,215 bytes => ~16MB LONGTEXT: 4,294,967,295 bytes => ~4GB Blob binary type For example: Create a table CREATE TABLE test( id INT PRIMARY KEY AUTO_INCREMENT, content LONGTEXT, -- text field img LONGBLOB -- picture field); When storing text, it is stored in character type, and when storing pictures, it is stored in binary type. The specific method of setting parameters is different from the method of obtaining data. For example: // When storing text, set the parameter to character stream FileReader reader pstmt.setCharacterStream(1, reader); // When getting parameters // Method 1: Reader r = rs.getCharacterStream("content"); // Get long text data, method 2: System.out.print(rs.getString("content")); // When storing binary images // Set the parameter to the binary stream InputStream in pstmt.setBinaryStream(1, in); // Get the binary stream InputStream in = rs.getAsciiStream("img"); /** * Save Photo* */ @Test public void test2(){ String sql = "insert into test(img) values(?)"; try{ con = JDBCUtil.getConnection(); pstmt = con.prepareStatement(sql); // Set parameters // Get text File file = new File("f:/a.jpg"); InputStream in = new FileInputStream(file); // Set the parameter to binary stream pstmt.setBinaryStream(1, in); // Execute sql pstmt.executeUpdate(); in.close(); }catch (Exception e) { e.printStackTrace(); }finally{ try { JDBCUtil.close(con, pstmt); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * Get photos * */ @Test public void test3(){ String sql = "select * from test where id=?;"; try{ con = JDBCUtil.getConnection(); pstmt = con.prepareStatement(sql); // Set parameters pstmt.setInt(1, 2); // Execute query rs = pstmt.executeQuery(); while(rs.next()){ byte[] buff = new byte[1024]; InputStream in = rs.getAsciiStream("img"); int l=0; OutputStream out = new FileOutputStream(new File("f:/1.jpg")); while((l=in.read(buff))!=-1){ out.write(buff, 0, l); } in.close(); out.close(); } }catch (Exception e) { e.printStackTrace(); }finally{ try { JDBCUtil.close(con, pstmt); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Summarize The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. If you want to learn more about this, please check out the following links You may also be interested in:
|
<<: Reasons and solutions for not being able to detect array changes in Vue2
>>: How to create a virtual environment using virtualenv under Windows (two ways)
Special note: Only the Swoole extension is instal...
1. Background Recently, some friends encountered ...
1. Environment version Docker version 19.03.12 ce...
Table of contents background Problem location Fur...
Generally speaking, in order to get more complete...
Preface If the query information comes from multi...
Preface This article mainly introduces the releva...
Table of contents 1. Set Deduplication 2. Double ...
Table of contents Question: When the button is cl...
1. Parent div defines pseudo-classes: after and z...
Ubuntu 18.04 installs mysql 5.7 for your referenc...
During the project, I started using the js reques...
CSS display property Note: If !DOCTYPE is specifi...
This article example shares the specific code of ...
Preface Sorting is a basic function in databases,...