hibernate 大对象类型hibernate制图

hibernate 大对象类型hibernate制图

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

基础知识:

  • 在 Java 在, java.lang.String 它可以用来表示长串(超过长度 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型相应. CLOB 表示字符串大对象(Character Large Object), BLOB表示二进制对象(Binary Large Object)
  • hibernate 大对象类型hibernate制图
  • Mysql 不支持标准 SQL 的 CLOB 类型, 在 Mysql 中, 用 TEXT, MEDIUMTEXT 及 LONGTEXT 类型来表示长度操作 255 的长文本数据
  • 在持久化类中, 二进制大对象能够声明为 byte[] 或 java.sql.Blob 类型; 字符串能够声明为 java.lang.String 或 java.sql.Clob
  • 实际上在 Java 应用程序中处理长度超过 255 的字符串, 使用 java.lang.String 比 java.sql.Clob 更方便

怎样映射?
若希望精确映射sql类型,能够使用sql-type属性。比如:
<!– 映射大对象 –>
<!– 若希望精确映射 SQL 类型, 能够使用 sql-type 属性. –>
<property name=”content”>
<column name=”CONTENT” sql-type=”mediumtext”></column>
</property>

<property name=”image”>
<column name=”IMAGE” sql-type=”mediumblob”></column>
</property>


保存二进制blob:

	@Test
	public void testBlob() throws Exception{
		News news = new News();
		news.setAuthor("cc");
		news.setContent("CONTENT");
		news.setDate(new Date());
		news.setDesc("DESC");
		news.setTitle("CC");
		
		InputStream stream = new FileInputStream("Hydrangeas.jpg");
		Blob image = Hibernate.getLobCreator(session)
				              .createBlob(stream, stream.available());
		news.setImage(image);
		
		session.save(news);
	}


读取二进制blob:

	@Test
	public void testBlob() throws Exception{
		News news = (News) session.get(News.class, 1);
		Blob image = news.getImage();
		
		InputStream in = image.getBinaryStream();
		System.out.println(in.available()); 
	}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117872.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Z—score模型公式计算_Prim算法

    Z—score模型公式计算_Prim算法算法介绍:zbar算法是现在网上开源的条形码,二维码检测算法,算法可识别大部分种类的一维码(条形码),比如I25,CODE39,CODE128,不过大家更关心的应该是现在很火的QR码的解码效率,随着现在生活中QR码的普及,扫码支付等行为越来越多的被人们接受,关于QR码是什么,QR码的解码流程是什么样的。本篇文章就互联网上的一个开源解码算法zbar进行简单剖析。源码可以在网上搜到,或者去gi

    2022年10月26日
  • vb中如何连接mysql_vb怎么连接数据库「建议收藏」

    vb怎么连接数据库[编辑]概述我们对数据库进行操作时,一方面要使用户可以在程序界面上对需要的数据进行访问;另一方面可以对数据库中的数据进行各种操作,最终的操作结果还要反馈给用户。一、Data控件1.设置数据控件的属性2.将Data控件连到一个特定的数据库和其中的一个表上3.在VB中建立一个标准的工程4.在窗体中添加控件(Data1就是一个Data控件)5.改变控件的一些属性6.对Data控件进行设…

    2022年4月16日
  • redis(五大数据类型)「建议收藏」

    redis(五大数据类型)「建议收藏」RedisRedis入门菜Redis为什么这么快?五大数据类型Redis可以用作数据库,缓存,消息中间件Redis入门菜redis 默认有16个数据库可以使用select 进行切换数据库root@ubuntu:/usr/bin/redisconf# redis-cli 127.0.0.1:6379> select 3 //选择第3个数据库OK127.0.0.1:6379[3]> DBSIZE //查看数据库大小(integer) 0127.0.0.1:6379[3]>

    2022年8月8日
  • phpstorm最新激活码linux版_最新在线免费激活2022.03.11

    (phpstorm最新激活码linux版)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1M2OME2TZY-eyJsaWNlb…

    2022年3月13日
  • 使用Go来模拟Java中的接口 实现类

    使用Go来模拟Java中的接口 实现类

    2021年6月6日
  • vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染[通俗易懂]

    vue中父组件传值给子组件,父组件值改变,子组件不能重新渲染[通俗易懂]1在子组件中用watch()监听值的改变,不同的类型的要用不同的监听方法props:{echartStyle:{type:Object,default(){return{}}},titleText:{type:String,default:”},tooltipFormatt…

    2022年10月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号