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)
Functions about null in MySql IFNULL ISNULL NULLI...
Table of contents Preface Dockerfile What is a Do...
Table of contents Common key aliases Key without ...
This article mainly records a tomcat process, and...
The content property was introduced as early as C...
The earliest computers could only use ASCII chara...
MySQL password modification example detailed expl...
Introduction: Interface designer Joshua Porter pub...
Table of contents What is pre-analysis? The diffe...
1. Download from the official website and unzip h...
I always feel that designers are the most sensiti...
10.4.1 The difference between Frameset and Frame ...
Ubuntu 20.04 has been officially released in Apri...
1. Image formats supported on the WEB: GIF: can s...
Table of contents Scenario Core Issues Status mon...