「java数据库持久化」java数据库系统

博主:adminadmin 2023-03-20 16:38:08 646

本篇文章给大家谈谈java数据库持久化,以及java数据库系统对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用java代码如何设置activemq消息持久化到数据库中?

ActiveMQ持久化消息的二种方式;

1、持久化为文件

这个装ActiveMQ时默认就是这种,只要设置消息为持久化就可以了。涉及到的配置和代码有:

persistenceAdapter

kahaDB directory="${activemq.base}/data/kahadb"/

/persistenceAdapter

producer.Send(request, MsgDeliveryMode.Persistent, level, TimeSpan.MinValue);

2、持久化为MySql

首先需要把MySql的驱动放到ActiveMQ的Lib目录下,我用的文件名字是:mysql-connector-java-5.0.4-bin.jar

接下来修改配置文件

persistenceAdapter

jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/

/persistenceAdapter

在配置文件中的broker节点外增加

bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"

property name="driverClassName" value="com.mysql.jdbc.Driver"/

property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/

property name="username" value="activemq"/

property name="password" value="activemq"/

property name="maxActive" value="200"/

property name="poolPreparedStatements" value="true"/

/bean

从配置中可以看出数据库的名称是activemq,需要手动在MySql中增加这个库。

然后重新启动消息队列,会发现多了3张表

1:activemq_acks

2:activemq_lock

3:activemq_msgs

java持久化类为什么要实现序列化

序列化可以将一个复杂的对象转化为一维的数据,而这为持久化提供了很大的方便,因为文件就是一维的,将一维的东西写入文件自然比较方便。

不过持久化是个很宽泛的概念,可以是写入文件,也可以是存入数据库,写入注册表等多种方式。其本意是延长对象或数据的生命周期,让其可以超越程序的生命周期,程序关闭了,甚至服务器关机了,下次运行程序时又可以让对象或数据恢复到原来的状态。

而序列化也不一定是用来持久化的,可以是用来传递使用,如从计算机A传递到计算机B;也可以用来进行深拷贝;总之序列化主要解决从复杂的数据结构转化为一维结构,或者从一维结构从新构建复杂的数据结构。

Java持久化对象时需要注意什么?

你问的这个问题范围有点大,简单写几条供你参考。

①数据库的选择,依据数据量大小、熟悉程度、成本等因素选定数据库,一旦选择并开发了,很难变更了。

②送择合适的持久层开发框架,如ibatis、spring等,这些框架各有优缺点。

③具体实现时,则要注意注入漏洞,操作返回值让用户知道等。

什么是java persistence

就是java的持久化,有很多框架可实现这个功能。

举一个程序访问数据库的例子。当程序查到一条记录,就把记录的数据构造成一个对象(如姓名、年龄等),这个对象就放到内存中,如果下一个请求需要访问同一条记录,则直接在内存中读取这个对象就可以了。

如果修改了对象的属性(如姓名、年龄等),则后台会选择合适的时间,同步到数据库中。

这样相当于把数据库缓存到内存中了,程序的性能将能得到可观的提升。

当然,把数据库全搬到内存中是不可能的,所以还需要有一个后台管理这些内存中的对象。例如把不常用的对象销毁,或放到硬盘,同时还需处理并发访问等等。

著名的 hibernate 、 mybatis等,就是完成了上述类似的功能。你也可以视作为一个

java persistence的实现。

java数据库持久化的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数据库系统、java数据库持久化的信息别忘了在本站进行查找喔。