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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」

    华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」全是干货的技术号:本文已收录在【github面试知识仓库】,欢迎star/fork:https://github.com/Wasabi1234/Java-Interview-Tutorial内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着os和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM高效稳定运行。不同JVM对于内存的划分方式和管理机制存在差异。结合JVM虚拟机规范,来探讨经典JVM内存布局。JVM运行时数据区.

    2022年5月24日
  • PyCharm激活码永久有效PyCharm2020.2.4激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2020.2.4激活码教程-持续更新,一步到位PyCharm激活码永久有效2020.2.4激活码教程-Windows版永久激活-持续更新,Idea激活码2020.2.4成功激活

    2022年6月19日
  • JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」

    JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」常用:JS获取浏览器窗口大小//获取窗口宽度if(window.innerWidth)winWidth=window.innerWidth;elseif((document.body)&&(document.body.clientWidth))winWidth=document.body.clientWidth;//获取窗口高度if(…

    2022年7月22日
  • 数据库关系代数基本运算_不是关系型的数据库

    数据库关系代数基本运算_不是关系型的数据库一、关系数据结构及形式化定义1、关系关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。1.1域域是一组具有相同数据类型值的集合。1.2笛卡儿积笛卡儿积是域上的一种集合运算。定义:给定一组域D1,D2,…,Dn,允许其中某些域是相同的,D…

    2022年11月2日
  • 自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)

    自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)eProvidersNtpClient]分支,并双击SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,如图1所示图13.而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的,看明白了吧,如果您想让XP以多长时间自动对时,只要按这个公式算出具体的秒数,再填入到图1中的对…

    2022年7月16日
  • NDP和LLDP协议

    NDP和LLDP协议NDP和LLDP作用是一样,NDP:用来发现直接相连的邻居信息,包括邻接设备的设备名称、软/硬件版本、连接端口等,另外还可提供设备的id、端口地址、硬件平台等信息LLDP:它提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(LinkLaye…

    2022年6月2日

发表回复

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

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