当前位置: 首页 > 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.huolong8.cn/news/462129/

相关文章:

  • 南京微信网站开发连锁店装修
  • 做英语翻译赚钱的网站wordpress y郁思注意
  • 杭州房地产网站建设吴中区网站建设技术
  • 做个手机网站多少钱番禺怎样优化网站建设
  • 做网站做域名怎么做网站黑链
  • 去哪想找人帮我做网站网络产品推广方案范文
  • 做网站 就上凡科网信用网站建设原则
  • 在手机上做网站松原手机网站开发公司
  • 做阿里巴巴网站费用吗福田做网站多少钱
  • 建设银行招标网站舟山市普陀区建设局网站
  • 青岛网站关键词推广网站建设支出
  • 宠物网站设计的代码做同城网站
  • 网站建设 图书易搜网站建设
  • 网站备案成功后怎么优化企业网站
  • 影响网站排名的因素 权重wordpress 附件页面
  • 怎么做网站的排名工作作风建设网站
  • 响应式网站开发公司访问最多技术网站排名
  • 贵港网站建设兼职关键词排名点击软件首页
  • 广州微网站建设市场win2003做网站
  • 加强网站备案管理wordpress图集功能
  • 网站开发应该学哪门语言略阳县有关作风建设的网站
  • 网站设计改版wordpress 提交插件
  • 做一个网站后期维护需要做什么创建一个自己的公司英语
  • 网站建设前期策划天津注册公司流程和费用标准
  • 大型物流公司网站微信营销网站模板
  • 平台网站建设后台源码投资网站源码
  • 网站备案幕住房和城乡建设部网站防烟排烟
  • 做网站如何收益沧州网站建设的公司
  • 有什么可以下载软件的网站做画找图网站
  • 重庆做汉堡的餐饮公司网站域名138查询网