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


相关推荐

  • BigDecimal 除法

    BigDecimal 除法文章目录BigDecimal除法除法常用方法示例舍入模式ROUND_UPROUND_DOWNROUND_CEILINGROUND_FLOORROUND_HALF_UPROUND_HALF_DOWNROUND_HALF_EVENROUND_UNNECESSARYBigDecimal除法除法常用方法divide(BigDecimaldivisor,intscale,introundingMode)参数释义divisor被除数scale保留小数位roun

    2022年6月14日
    31
  • java集合系列——List集合之Stack介绍(五)「建议收藏」

    Stack的简介Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。

    2022年2月26日
    44
  • vscode打个感叹号就出现html_为什么vscode输入叹号没反应

    vscode打个感叹号就出现html_为什么vscode输入叹号没反应关于Vscode自动更新后按!或按!+tab键不能自动生成html模板的问题和解决方法

    2022年8月22日
    95
  • Python fill_python mean

    Python fill_python mean而df.fillna(0)用0填充所有NA/NaN值,是否有一个函数将所有非NA/NaN值替换为另一个值,例如1?如果我的DataFrame中的值是可变长度列表,那么:>df.replace()要求列表长度相同>布尔索引,如df[len(df)>0]=1抛出ValueError:无法插入True,已经存在>pandas.get_dummies()抛出Ty…

    2022年8月12日
    10
  • iptables规则详解_iptables规则文件

    iptables规则详解_iptables规则文件利用ipset,使iptables可以利用一条规则匹配多条IP地址,提高iptables的匹配效率,降低防火墙的系统消耗。

    2022年10月6日
    2
  • 12款Py程序员必备PyCharm插件,亲测过~推荐

    12款Py程序员必备PyCharm插件,亲测过~推荐最近使用Python,烧脑的我,使用编程软件肯定少不了去安装一些非常好用的插件,目的为了代码高效和方便的开发。以下是我亲测过的一些插件,很实用!!!!下载位置在输入框种输入要安装的插件名称即可下载。插件合集1..ignore我们做的每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。2.CSVPlugin(必备推荐)它可以让CSV各个列之间区别明显,很清晰的显示各种颜色的高亮.3.CodeGlan..

    2022年6月24日
    32

发表回复

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

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