12.JDBC

/*使用JDBC处理大数据*/

  在实际开发中,程序需要把大文本或二进制数据保存到数据库中

  大数据LOB(Large Objects),LOB又分为clob和blob

  clob用来存储大文本 blob用于存储二进制数据,例如图像、声音、二进制等。

  对于MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:

  TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT

  TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB

/*对于MySQL中的Text类型,可调用如下方法设置(过程:1.拿到st 2.拿到文件的路径 3.通过路径创建file对象 4.设置Text属性)*/

  PreparedStatment.setCharacterStream(index,reader,length);

/*对于MySQL中Text类型,可调用如下方法获取 (过程:1.拿到rs 2.拿到reader 3.将reader中的数据读取到FileWriter)*/

  reader=resultSet.getCharacterStream(i);

  reader=resultSet.getClob(i).getCharacterStream();

  reader=resultSet.getString(i);

/*对于MySQL中的BLOB类型,可调用如下方法设置: (过程:1.拿到st 2.拿到文件的路径 3.设置Blog属性) (和Text的设置大同小异)*/

  PreparedStatment.setBinaryStream(i,inputStream,length);

/*对于MySQL中的BLOB类型,可调用如下方法获取: (过程:1.拿到rs 2.拿到InputStream(因为读取的是二进制,所以和Text有些区别) 3.将InputStream中的数据读取到FileWriter)*/

  InputStream in = resultSet.getBinaryStream(i);

  InputStream in = resultSet.getBlob(i).getBinaryStream();

/*JDBC批处理*/ (批处理执行后,要清空下批处理 st.clearBatch())

1.采用Statment.addBatch(sql)方式实现批处理

  优点:可以向数据库发送多条不同的SQL语句。

  缺点:1.SQL语句没有编译 2.当向数据库发送多条语句相同,但仅参数不同的SQL语句时(pst可以用?设定),需要重复写上很多条SQL语句

2.实现批处理的第二种方式:

  PreparedStatement.addBatch();

/*获取数据库自动生成的主键*/ (只对insert操作有效)

  PreparedStatment st = conn.prepareStatement(sql,Statement.RETURN_GENTURN_GENERATED_KEYS) (Statement.RETURN_GENTURN_GENERATED_KEYS 默认会加上)

  st.executeUpdate();

  ResultSet rs = st.getGeneratdKeys(); //得到 /*插入行*/ 的主键

/*JDBC调用存储过程*/

  1.编写存储过程

  2.在程序中调用

    得到CallableStatment,并调用存储过程(CallableStatement cStmt = connprepareCall("{call demoSp(?,?)}");

    设置参数,注册返回值,得到输出( cStmt.getString(1))

    cStmt.setString(1,"xxx"); 设置参数

    cStmt.registerOutParameter(2,Types.VARCHAR); 注册返回值

    cStmt.execute();

时间: 2024-10-05 08:13:50

12.JDBC的相关文章

java_web学习(12)JDBC

数据持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成.持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件.XML数据文件中. Java 中的数据存储技术 在Java中,数据库存取技术可分为如下几类:1>JDBC直接访问数据库;2>JDO技术;3>第三方O/R工具,如Hibernate, ib

跟着刚哥学习Spring框架--JDBC(六)

Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简化JDBC编程 Spring提供了3个模板类: JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问. NamedParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是使用索引参数. Simpl

jdbc代码

1.jdbcutiul的代码, 1 package gz.itcast.util; 2 3 import java.io.InputStream; 4 import java.sql.Connection; 5 import java.sql.DriverManager; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 import java.util.Prop

[转载]JavaEE学习篇之--JDBC详解

原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/26164629 目录1.摘要2.JDBC的使用步骤 1.注册驱动 只做一次 2.建立连接Connection 3.创建执行SQL的语句Statement 4.处理执行结果ResultSet 5.释放资源3.使用JDBC来实现CRUD的操作4.Statement中的sql依赖注入的问题5.JDBC中特殊数据类型的操作问题 1.第一个是日期问题 2.第二个问题就是大文本数据的问

java读取properties配置文件总结

java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1).使用getResourceAsStream()方法读取配置文件. (2).使用InputStream()流去读取配置文件. 注意:在使用getResourceAsStream()读取配置文件时,要特别注意配置文件的路径的写法. this.getClass.getResourceAsStream(f

SSH(三)

在Spring中引用属性文件:    优点:        1.防止随意更改jdbc的连接        2.给不懂代码的人使用    步骤:        1.数据库连接信息写在属性文件中        范例:#jdbc.properties 1 jdbc.driver = com.mysql.jdbc.Driver 2 jdbc.url = jdbc:mysql://localhost/db 3 jdbc.username = root 4 jdbc.password = root 2.采用

web基础知识汇总

HTML&XML 1.JavaWeb的概述 A: 什么是Web----->就是网页或者网站 B: 什么是JavaWeb----->就是使用java语言做web C: 浏览器访问网站的原理 && 静态资源和动态资源的区别 2. Html的概述 Html: Hyper Text Markup Language 超文本标记语言 超文本:     超出纯文本的范畴 标记语言:  标记其实就是标签       标签的格式: <标签名称> 3. Html文档的组成以及标

中间件测试内容及指标

一.核心功能测试指标                      交易中间件测试内容1 名字服务:测试中间件对透明的名字服务的支持和正确性2 负载均衡:测试中间件对自动在系统中完成负载平衡的支持和正确性3 请求优先权:测试中间件对服务请求优先级的支持和正确性4 可用性支持:测试中间件对进程可用性检查.超时检查等可用性支持和正确性,保证应用运行环境稳定5 安全性:测试中间件对保证应用服务安全运行和数据传输加密的支持和正确性6 动态配置:测试中间件对动态重配置节点和参数的支持和正确性7 分布式事务处理

Spring中的事务

Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource. TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为 SessionFactory,TransactionManager的实现为HibernateTransactionManager. 一.事务的