文档详情

如何实现java转换excle.docx

发布:2017-12-19约5.05千字共5页下载文档
文本预览下载声明
如何实现java转换excle实现思路: 直接从Excel文件装换成XML文件是可以实现的,这里我采用一个中间装换,也就是先实现excel文件内容放入实现设计好的access数据库文件中,然后再从access中读取记录写道xml文件中,因为我这里的实际问题是把多个excel表,每个表中又有多个sheet工作薄,这样我先导入数据库中,也方便修改和处理. 这样,需要写两个类:??XlsToAccess类,用来实现从excel文件根据事先约定的格式,按照数据库设计字段存放进去??AccessToXml类,用来实现从access文件数据库中的记录按约定格式写到xml文件中去 然后还需要一个主运行窗口类XlsToXml,这个类我们使用eclipse插件SWT Designer来完成 最后把工程打成JAR包,再用NativeJ将Jar包生成为可执行的exe文件关系数据库和非关系数据库关系数据库的原理就是二维表 非关系数据库有层次数据库、网状数据库等 公司的考核制度,锁。。。。。数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。【基本锁类型】锁包括行级锁和表级锁行级锁是一种排他锁,防止其他事务修改此行;在使用以下语句时,Oracle会自动应用行级锁:INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT];SELECT … FOR UPDATE语句允许用户一次锁定多条记录进行更新使用COMMIT或ROLLBACK语句释放锁表级锁又分为5类:行共享 (ROW SHARE) – 禁止排他锁定表行排他(ROW EXCLUSIVE) – 禁止使用排他锁和共享锁共享锁(SHARE) - 锁定表,对记录只读不写,多个用户可以同时在同一个表上应用此锁共享行排他(SHARE ROW EXCLUSIVE) – 比共享锁更多的限制,禁止使用共享锁及更高的锁排他(EXCLUSIVE) – 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表【乐观锁与悲观锁】?所谓悲观锁就是基于数据库机制实现的。比如在在使用select子句的时候加上for update,那么直到改子句的事务结束为止,任何应用都无法修改select出来的记录。所谓乐观锁是基于应用的版本机制来实现的。一般会在表里面设计一个版本字段v(我一般会把这个字段设为timestamp)。一般的update场景是这样:1 select a, v from tb where id=1;假设得到数据是:[xxx, 11111]2 update tb set a=yyyy, v=systimestamp where v=11111; //注意, v一般不会在业务操作的时候修改这要求每一次update操作都变更版本字段,否则还是要进程间的数据 还是会被相互覆盖。乐观锁无法锁定其他应用对数据的操作。?锁(locking)?业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修改。 Hibernate支持两种锁机制:即通常所说的“悲观锁(Pessimistic Locking)” 和“乐观锁(Optimistic Locking)”。【Hibernate中的悲观锁和乐观锁的实现】一 :悲观锁(Pessimistic?Locking)?悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定 状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能 真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 统不会修改数据)。 一个典型的倚赖数据库的悲观锁调用:?select * from account where name=”Erica” for update 这条sql 语句锁定了account 表中所有符合检索条件(name=”Eric
显示全部
相似文档