当前位置: 首页 > news >正文

益阳市 网站建设电商网站链接买卖

益阳市 网站建设,电商网站链接买卖,公司网站的关键词推广怎么做,临沂建设质量监督站网站Mybatis的MapperXML映射文件应该处理数据库字段类型为CLOB和BLOB类型的数据呢#xff1f;首先我们先看下CLOB和BLOB这两种数据类型的介绍。 介绍 使用Mybatis时涉及到两种特殊类型的处理#xff0c;分别是Blob#xff08;Binary Large Object#xff09;和Clob#xff0…Mybatis的MapperXML映射文件应该处理数据库字段类型为CLOB和BLOB类型的数据呢首先我们先看下CLOB和BLOB这两种数据类型的介绍。 介绍 使用Mybatis时涉及到两种特殊类型的处理分别是BlobBinary Large Object和ClobCharacter Large Object。Blob表示二进制大对象字段而Clob则表示大字符对象字段。这两种类型需要特殊处理。 Blob主要用于存储大型二进制数据例如图像、音频或视频文件等。而Clob则用于存储大量文本数据比如长篇文章、日志等。在JDBC中PreparedStatement和ResultSet提供了相应的方法来支持Blob和Clob的操作使得在数据库中存储和检索这些大型数据变得更加容易。 本文首发https://www.panziye.com/java/7876.html Mybatis作为一个持久层框架也对Blob和Clob类型进行了支持。不同版本的Mybatis都提供了对这些类型的存储和读取操作的功能。下面将详细介绍Mybatis中如何操作Clob字段。 对应关系 BLOB和CLOB在不一样的数据库中对应的类型也不同:  MySQL中clob对应text/longtextblob对应blobOracle中clob对应clobblob对应blob Mapper.xml映射 Mapper文件中查询sql的id为queryByListreport_summary为Oracle数据库中的一个字段是CLOB类型。myClob为java类在java类中定义一个String类型的字段reportSummary用于接收CLOB信息。 1Mapper.xml文件加入如下配置可以读取CLOB和BLOB类型的数据 jdbcTypeCLOB typeHandlerorg.apache.ibatis.type.ClobTypeHandler jdbcTypeBLOB typeHandlerorg.apache.ibatis.type.BLOBTypeHandler2案例代码 select idqueryByList parameterTypeMap resultMapqueryBaseResultMapselect id ,title,type,report_summary,author from my_clobwhere 1 1 order by ${orderByClause} /select resultMap idqueryBaseResultMap typecom.mxm.model.MyClob id columnId propertyid jdbcTypeINTEGER /result columntype propertytype jdbcTypeINTEGER /result columntitle propertytitle jdbcTypeVARCHAR /result columnauthor propertyauthor jdbcTypeVARCHAR /result columnreport_summary propertyreportSummary jdbcTypeCLOB typeHandlerorg.apache.ibatis.type.ClobTypeHandler /resultMap3如果你的Clob是文本信息在java实体类中可以直接使用String字符串去接收处理。 扩展 上面使用的是默认的mybatis提供的ClobTypeHandler当然你也可以自定义自己的handler进行处理这样会有更好的灵活性。这里演示blob与String转换。 场景 数据库中有一个blob字段在java中用String接收。使用如下方式读取 select idfind resultTypecom.example.bean.Userselect id, name, experience, createTimefrom user /select如果这里的experience字段为blob类型那么取出来的数据就会乱码。 解决方法是自定义一个TypeHandler通过继承BaseTypeHandler类实现。如下。 BlobToStringTypeHandler 先看xml应用 resultMap idUserResultMap typecom.example.bean.Userid propertyid columnid/idresult propertyname columnname/resultresult propertyexperience columnexperience typeHandlercom.example.handler.BlobToStringTypeHandler/resultresult propertycreateTime columncreateTime/result /resultMapselect idfind resultMapUserResultMapselect id, name, experience, createTimefrom user /select再看BlobToStringTypeHandler代码 import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType;import java.sql.*;public class BlobToStringTypeHandler extends BaseTypeHandlerString {Overridepublic void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {ps.setString(i, parameter);}Overridepublic String getNullableResult(ResultSet rs, String columnName) throws SQLException {Blob blob rs.getBlob(columnName);return new String(blob.getBytes(1, (int)blob.length()));}Overridepublic String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {Blob blob rs.getBlob(columnIndex);return new String(blob.getBytes(1, (int)blob.length()));}Overridepublic String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {Blob blob cs.getBlob(columnIndex);return new String(blob.getBytes(1, (int)blob.length()));} }以上通过继承BaseTypeHandler并实现其方法将sql的blob类型字段与java的String类型互相转换。 附录 这里附上Mybatis JdbcType与Oracle、MySql数据类型对应列表 JdbcTypeOracleMySqlARRAYBIGINTBIGINTBINARYBITBITBLOBBLOBBLOBBOOLEANCHARCHARCHARCLOBCLOB修改为TEXTCURSORDATEDATEDATEDECIMALDECIMALDECIMALDOUBLENUMBERDOUBLEFLOATFLOATFLOATINTEGERINTEGERINTEGERLONGVARBINARYLONGVARCHARLONG VARCHARNCHARNCHARNCLOBNCLOBNULLNUMERICNUMERIC/NUMBERNUMERIC/NVARCHAROTHERREALREALREALSMALLINTSMALLINTSMALLINTSTRUCTTIMETIMETIMESTAMPTIMESTAMPTIMESTAMP/DATETIMETINYINTTINYINTUNDEFINEDVARBINARYVARCHARVARCHARVARCHAR 如果表格中有遗漏可以直接看https://www.panziye.com/java/7876.html 总结 以上就是MyBatis MapperXML如何处理CLOB和BLOB类型数据的全部内容希望对你Java框架的学习有帮助 推荐阅读 MyBatis Plus如何解决百万级大数据量查询慢问题
http://www.yutouwan.com/news/462129/

相关文章:

  • 淘宝店做网站建设不能开直通车项目建设背景与必要性
  • 渭南建网站如何给客户做网站方案
  • 服务器网站源码在哪百度快照搜索
  • 网站建设流程及构架设计本和游戏本区别
  • 建设网站分析企业网站建设2017
  • 做衣服网站有哪些百度识图搜索
  • 创建自己的网站怎么弄wordpress widget 开发
  • 邢台宇鹏网站建设长沙网站排名分析
  • 英国做电商网站有哪些网站建设程序员招聘
  • 东莞网站制作建设公司wordpress python发表
  • 网站规划与开发实训室建设方案h5在哪个网站中做
  • 重庆做网站建设找谁遵义信息港
  • 我是这样做网站的米课织梦保险网站源码
  • 甘孜州建设局门户网站老男孩linux网站
  • 黄页网站 php打开网站不要出现 index.html
  • 手机网站开发需求 百度云盘网站集约化建设调研报告
  • 东营两学一做网站网站做app服务端
  • 毕业设计做网站有什么好的创意网站建设小
  • 单页面网站如何seo公司网站建设需推广
  • 写作网站哪个好通州区网站制作
  • 河南省建设厅督察网站视觉差网站设计
  • 一个wordpress程序搭建多个网站京东商城网站怎么做
  • 哪些网站可以做平面设计外贸公司的网站怎么做
  • 做网站用什么数据库电子商务网店运营
  • 查询数据的网站怎么做的怎样用编程语言做网站
  • 公司做的网站搜索不到专业邯郸网站建设
  • 江苏建设招标网站凡科系统官网
  • 弹幕网站开发代码开发商
  • 中学网站模板下载昆明做网站比较牛的
  • wordpress 套件一个网站如何优化