`
shyboy0358
  • 浏览: 33681 次
文章分类
社区版块
存档分类
最新评论
文章列表
package com.taobao.dbunit.dao;       import java.sql.SQLException;       import javax.sql.DataSource;       import org.dbunit.Assertion;    import org.dbunit.database.DatabaseConnection;    import org.dbunit.database.IDatabaseConnection;    import org.dbunit.dataset.DataSetExc ...
大概流程: 1.用dbunit创建初始的测试数据。 2.用spring-mock 维护测试过程中的数据会滚,这样可以保证测试后数据库保持原状态。 3.用junit架构测试。 4.用dbunit销毁初始测试数据。 对Dao进行单元测试,一般有两种思路。一是Mock,对使用的底层API进行Mock,比如Hibernate和JDBC接口,判断接口有没有正确调用,另一种是实际访问数据库,判断数据库有没有正确读写。更多的情况下,我更倾向于后者,因为在使用ORM工具或者jdbcTemplate的情况下,dao一般只有简单的几行代码,没有复杂的逻辑,Mock测试一般没有什么意义,我们更关心的是,Hibern ...
1:将局部变量的作用域最小化 2:for-each循环优先于传统的for循环 3:如果需要精确计算,避免使用float和double,尽量使用int,long,Bigdecimal 4:基本类型优先于装箱基本类型 5:字符串连接应优先选择stringBuffer,stringBulider 6:尽量通过接口来引用对象
synchronized的4种用法 1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在synchronized方法内部的线程)执行完该方法后,别的线程才能进入.       例如:       public synchronized void synMethod() {         //方法体       }     2.对某一代码块使用,synchronized后跟括号,括号里是变量,这样,一次只有一个线程进入该代码块.例如:       publ ...
1.对表按查询条件建立索引 2.对查询语句进行优化 3.可以考虑对查询数据使用缓存 4.先将数据保存到缓存中,当数据达到一定的数量后,再更新到数据库中 以下是对查询语句优化的注意事项 1.应尽量避免在 where 子句中对字段 ...
Spring中提供一些Aware相关接口,像是BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,实作这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实作BeanFactoryAware的Bean在初始后,Spring容器将会注入BeanFactory的实例,而实作ApplicationContextAware的Bean,在Bean被初始后,将会被注入 ApplicationContext的实例等等。 例如 加载Spring配置文件时,如果Spring配 ...
今天遇到一个oracle的问题,经过多次测试,得出以下结论。 1:表中的数据 id name age(char(3)) 12 yyj  21 2:sql语句 SELECT * FROM TABLE WHERE age > '111'; 结果:12 yyj 21 正常应给不被检索出来。 3:原因分析 oracle中,字符串比较时,如果两边位数不一致,将长的一方自动截位。 
第一:事务并发访问控制策略 当前J2EE项目中,面临的一个共同问题就是如果控制事务的并发访问,虽然有些持久层框架已经为我们做了很多工作,但是理解原理,对于我们开发来说还是很有用处的。 事务并发访问主要可以分为 ...
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对象。    这里有必要提一下就是Class下的newInstance()和new有什么区别?,首先,newInstance( )是一个方法,而new是一个关键字,其次,Class下的newInstan ...
Global site tag (gtag.js) - Google Analytics