前言
很简单的一个问题,一个业务方法,需要先查询一次得到结果(select),然后再根据查询的结果进行一次更新(update),通常情况下我们会在DAO层定义两个接口,一个接口实现查询,一个接口实现更新,在service层调用2次。当然还有一种解决方案,就是仅在DAO层定义一个接口,通过update set select 这种语法去做,这样调用一次就可以完成更新,那么实际情况我们选用哪一种高效呢?根据我的经验应该是第二种,但有人说尽量不要写子查询,那我就具体写个test case测试一下效率问题。
Test
package zhsz_service;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.Sprin