使用jdbc存储图片和大文本
package cn.itcast.i_batch; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.Arrays; import org.junit.Test; import cn.itcast.e_tool.JDBCUtils;
public class Demo {
@Test
//1 使用Statement对象批量执行sql
public void fun1() throws Exception{ //1 获得连接
Connection conn = JDBCUtils.getConnection();
//2 获得Statement
Statement st = conn.createStatement();
//3 添加多条sql语句到st中 st.addBatch("create table t_stu ( id int primary key auto_increment , name varchar(20) )");
st.addBatch("insert into t_stu values(null,'tom')");
st.addBatch("insert into t_stu values(null,'jerry')");
st.addBatch("insert into t_stu values(null,'jack')");
st.addBatch("insert into t_stu values(null,'rose')");
//4 执行sql
int[] results = st.executeBatch();
System.out.println(Arrays.toString(results));
//5关闭资源
JDBCUtils.close(conn, st, null);
}
@Test
//2 使用PrepareStatement对象批量执行sql
public void fun2() throws Exception{ //1 获得连接
Connection conn = JDBCUtils.getConnection();
//2 书写sql语句
String sql = "insert into t_stu values(null,?)";
//3 创建PrepareStatement
PreparedStatement ps = conn.prepareStatement(sql);
//4 循环.添加参数
for(int i=0;i<100;i++){
ps.setString(1, "用户"+i);
ps.addBatch();
}
//5 批量执行
int[] results =ps.executeBatch();
System.out.println(Arrays.toString(results));
//5关闭资源
JDBCUtils.close(conn, ps, null);
}
}
1.使用jdbc存储大文本
package cn.itcast.g_text; import java.io.File;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement; import org.junit.Test; import cn.itcast.e_tool.JDBCUtils;
public class Demo {
@Test
//演示向mysql中存放大文本数据
//存储大文本必须使用PrepareStatement对象
public void fun1() throws Exception{ //1 获得连接
Connection conn = JDBCUtils.getConnection();
//2 书写sql
String sql = "insert into mytext values(null,?)";
//3 创建PrepareStatement
PreparedStatement ps = conn.prepareStatement(sql);
//4 设置参数
//参数1:参数的索引
//参数2:需要保存的文本的流
//参数3:文件长度 File f = new File("src/text.txt"); FileReader reader = new FileReader(f); ps.setCharacterStream(1, reader, (int)f.length()); //5 执行sql
int result = ps.executeUpdate();
System.out.println(result);
//6关闭资源
JDBCUtils.close(conn, ps, null);
} }
2.使用jdbc存储图片
ackage cn.itcast.h_blob; import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement; import org.junit.Test; import cn.itcast.e_tool.JDBCUtils;
public class Demo {
@Test
//演示向mysql中存放图片
//存储图片必须使用PrepareStatement对象
public void fun1() throws Exception{ //1 获得连接
Connection conn = JDBCUtils.getConnection();
//2 书写sql
String sql = "insert into myblob values(null,?)";
//3 创建PrepareStatement
PreparedStatement ps = conn.prepareStatement(sql);
//4 设置参数
//参数1:参数的索引
//参数2:需要保存的图片的流
//参数3:图片文件长度 File f = new File("src/wg.PNG"); InputStream is = new FileInputStream(f); ps.setBinaryStream(1, is, (int)f.length()); //5 执行sql
int result = ps.executeUpdate();
System.out.println(result);
//6关闭资源
JDBCUtils.close(conn, ps, null);
} }
3.批量执行sql
使用jdbc存储图片和大文本的更多相关文章
- 利用JDBC处理mysql大数据--大文本和二进制文件等
转载自http://www.cnblogs.com/xdp-gacl/p/3982581.html 一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob, ...
- jdbc 大数据存储 图片读取
package com.itheima.clob.test; import java.io.File; import java.io.FileReader; import java.io.FileWr ...
- 使用JDBC处理MySQL大文本和大数据
LOB,Large Objects,是一种用于存储大对象的数据类型,一般LOB又分为BLOB与CLOB.BLOB通常用于存储二进制数据,比如图片.音频.视频等.CLOB通常用于存储大文本,比如小说. ...
- jdbc基础 (三) 大文本、二进制数据处理
LOB (Large Objects) 分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...
- oracle存储大文本clob、blob
oracle存储大文本clob.blob 1 package cn.itcast.web.oracle.util; 2 3 import java.sql.Connection; 4 import j ...
- JDBC中级篇(MYSQL)——处理大文本(CLOB)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package b_blob_clob; import java.io.FileNotFoundException; import ...
- SQL反模式学习笔记12 存储图片或其他多媒体大文件
目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点: 1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...
- mysql 的大文本存储TEXT & BLOB
TEXT & BLOB 一般在保存少量字符串的时候,我们会选择 CHAR 或者 VARCHAR:而在保存较大文本时,通常会选择使用 TEXT 或者 BLOB,二者之间的主要差别是 BLOB 能 ...
- JDBC 关于大文本数据
大文本数据Clob,在不同的数据库中类型名不一致,有的是text格式,有的是clob,还有其他一些格式 package test; import java.io.BufferedReader; i ...
随机推荐
- BZOJ:4826: [Hnoi2017]影魔
Description 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄.每一个灵 ...
- 【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)
BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Le ...
- HDU--2018
母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- Servlet面试题归纳
尊重原创:http://blog.csdn.net/caohaicheng/article/details/38116481 1.说一说Servlet生命周期 Servlet生命周期包括三部分: 初始 ...
- 解决jsp中编辑和删除时候弹出框闪退的问题。
---恢复内容开始--- /* 火箭设备特殊记载</li> <!-- yw4 --> */ function getYw4DL(){ var controlparm={&quo ...
- 【LeetCode】476. Number Complement (java实现)
原题链接 https://leetcode.com/problems/number-complement/ 原题 Given a positive integer, output its comple ...
- [国嵌笔记][023][ARM寻址方式]
寻找方式 1.处理器根据指令中给出的信息来找到指令所需操作数的方式 2.立即数寻址 操作数本身在指令中给出,立即数前加”#”表示立即数寻址,操作数在指令中 3.寄存器寻址 利用寄存器中的数值作为操作数 ...
- NYOJ 1249 物资调度(DFS+剪枝)
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=1249 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物 ...
- Python3 字符串格式化
1.字符串的格式化: 按照统一的规格去输出成为一个新的字符串 2.字符串格式化的方法: 1)format方法 fomat()有两个参数位置参数和关键字参数用中括号括起来{ } #{0}{1}为位置参数 ...
- DLL导出全局变量在多个DLL中调用
=================================版权声明================================= 版权声明:原创文章 禁止转载 请通过右侧公告中的“联系邮 ...