zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    【CANoe基础】CANoe常用操作
    ZedGraph控件横纵坐标显示中文名(转)
    Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性(转)
    c# 访问sqlite资源
    混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
    ABP框架资源
    vue新建项目一直在downloading template转,最后超时
    vscode(实验)--ABP框架 .net core 版本的安装与运行(vue模板)(转)
    安装-打开-运行-ABP框架(asp.net core 2.X+Vue)运行前端(转)
    VSCode打开Visual Studio的ABP框架项目(转)
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7359196.html
Copyright © 2011-2022 走看看