「java数据库持久化」java数据库系统
本篇文章给大家谈谈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数据库持久化的信息别忘了在本站进行查找喔。