"我打开一本书,一个灵魂就苏醒"
运行环境
jdk1.8.0_131
IntelliJ IDEA 2018.3 x64
mysql版本
MySQL Server 5.5
用到的jar包
mysql-connector-java-5.1.48.jar
-
-
CLOB:字符LOB类型,用于存放字符数据,最大可以存储4GB。
-
NLOB:字符LOB类型,和CLOB相同,支持国家字符集。
-
BFILE:二进制文件类型,与数据库外的操作系统文件相关联,该文件存储二进制大对象。
-
-
LOB列不能用于聚集表。
-
LOB列不能出现在查询语句的GROUP BY、ORDER BY 、DISTINCT(去重复)之后,也不允许出现在分组函数和连接函数中。
-
LOB类型不能出现在数组的定义中。
-
LOB类型不能够出现在建有分区索引的表中。
-
NCLOB类型不能作为对象类型的属性,当可以作为对象类型的方法的参数类型。
数据库代码示例:
1 CREATE DATABASE lob; 2 3 USE lob; 4 5 CREATE TABLE TEXTBLOB( 6 CID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 7 CNAME VARCHAR(40), 8 NOTES LONGBLOB 9 ) 10 11 12 SELECT * FROM TEXTBLOB
1 package com.chenmengfan.demo1; 2 3 import java.sql.*; 4 5 //连接数据库 6 public class MySQLJDBCUtil { 7 //准备三个参数 8 public static final String DRIVER = "com.mysql.jdbc.Driver"; 9 public static final String URL = "jdbc:mysql://127.0.0.1:3306/lob"; 10 public static final String USER = "root"; 11 public static final String PASSWORD = "123"; 12 13 //获取连接 14 public static Connection getConnection(){ 15 Connection connection = null; 16 try { 17 Class.forName(DRIVER); 18 connection = DriverManager.getConnection(URL, USER, PASSWORD); 19 } catch (SQLException e) { 20 e.printStackTrace(); 21 } catch (ClassNotFoundException e) { 22 e.printStackTrace(); 23 } 24 return connection; 25 } 26 27 //关闭连接 28 public static void close(Connection conn, PreparedStatement ps, ResultSet rs){ 29 try { 30 if(rs!=null) 31 rs.close(); 32 if(ps!=null) 33 ps.close(); 34 if(conn!=null) 35 conn.close(); 36 } catch (SQLException e) { 37 e.printStackTrace(); 38 } 39 } 40 }
代码示例:
1 package com.chenmengfan.demo1; 2 3 import org.junit.Test; 4 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.InputStream; 9 import java.sql.Connection; 10 import java.sql.PreparedStatement; 11 import java.sql.SQLException; 12 13 public class TestTEXTCLOB { 14 @Test 15 public void test(){ 16 Connection connection = MySQLJDBCUtil.getConnection(); 17 String sql = "INSERT INTO TEXTCLOB(CID,CNAME,NOTES) VALUES(?,?,?)"; 18 PreparedStatement preparedStatement = null; 19 try { 20 preparedStatement = connection.prepareStatement(sql); 21 preparedStatement.setObject(1,1); 22 preparedStatement.setObject(2,"notes.txt"); 23 File file = new File("D:\InCommonUse\Guigu_altogether\Guigu\S3\code\day18_code\notes.txt"); 24 InputStream inputStream = new FileInputStream(file); 25 preparedStatement.setAsciiStream(3,inputStream); 26 int update = preparedStatement.executeUpdate(); 27 if(update>0){ 28 System.out.println("数据添加成功"); 29 }else{ 30 System.out.println("数据添加失败"); 31 } 32 } catch (SQLException e) { 33 e.printStackTrace(); 34 } catch (FileNotFoundException e) { 35 e.printStackTrace(); 36 }finally { 37 MySQLJDBCUtil.close(connection,preparedStatement,null); 38 } 39 } 40 }
六、END
为了不错过每天的见面,请记得点击一下【关注】啊~
作者:javagril,00后女生,一个IT界冉冉升起的新星,想带你遨游缤纷多彩的编程世界。