2012年7月21日

spring整合ibatis事务管理

摘要: Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。与hibernate类似,Spring提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTemplate对象来操纵数据库。看起来这些概念都与hibernate类似。通过SqlMapClientTemplate来操纵数据库的CRUD是没有问题的,这里面关键的问题是事务处理。Spring提供了强大的声明式事务处理的功能,我们已经清楚hiber 阅读全文

posted @ 2012-07-21 11:10 站在云端 阅读(10839) 评论(1) 推荐(1) 编辑

Spring事务配置的五种方式

摘要: 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,T 阅读全文

posted @ 2012-07-21 09:53 站在云端 阅读(164) 评论(0) 推荐(0) 编辑

java 集合排序

摘要: Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator) 第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。第二个方法要求实现一个java.util.Comparator接口。 java.lang.Comparable接口和java.util.Comparator接口是Java对排序最提供最基本支持。这两个接口不但可以用于集合元素排序,还可以用于数组排序。 如果 阅读全文

posted @ 2012-07-21 02:19 站在云端 阅读(33992) 评论(0) 推荐(0) 编辑

Java程序员必知的8大排序

摘要: 8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现packagecom.njue; publicclassinsertSort{ publicinsertSort(){ inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51}; inttemp=0; for(inti 阅读全文

posted @ 2012-07-21 01:58 站在云端 阅读(112) 评论(0) 推荐(0) 编辑

java之yield(),sleep(),wait()区别详解-备忘笔记

摘要: 1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。2 阅读全文

posted @ 2012-07-21 01:19 站在云端 阅读(155) 评论(0) 推荐(0) 编辑

Java线程的交互

摘要: 一、线程交互的基础知识SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习:void notify() 唤醒在此对象监视器上等待的单个线程。void notifyAll() 唤醒在此对象监视器上等待的所有线程。void wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。当然,wait()还有另外两个重载方法:void wait(long timeout) 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。void wai 阅读全文

posted @ 2012-07-21 00:38 站在云端 阅读(138) 评论(0) 推荐(0) 编辑

JAVA线程的同步与锁

摘要: 一、同步问题提出线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。publicclassFoo {privateintx = 100;publicintgetX() {returnx;}publicintfix(inty) {x = x - y;returnx;}}publicclassMyRunnableimplementsRunnable {privateFoo foo =newFoo();publicstaticvoidmain(String[] args) {MyRunna 阅读全文

posted @ 2012-07-21 00:34 站在云端 阅读(120) 评论(0) 推荐(0) 编辑

导航