Spring--11.测试数据库以及dao,service

1      基本配置

1.1  一点说明

1.      在这里用的单元测试,所以启动tomcat要加载的,单元测试也要加

2.      这里只是测试数据库连通性,所以只需要spring相关的(spring-mvc就不管)


1.2  db.properties

 

1.3  applicationContext.xml

<!-- 配置 C3P0 数据源 -->
   <context:property-placeholder location="classpath:db.properties"/>
 
   <bean id="dataSource"
      class="com.mchange.v2.c3p0.ComboPooledDataSource">
      <property name="user" value="${jdbc.user}"></property>
      <property name="password" value="${jdbc.password}"></property>
      <property name="driverClass" value="${jdbc.driverClass}"></property>
      <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> 
     
      <!-- 配置其他属性 -->
   </bean>

1.4  配置maven包

 
<!-- 单元测试 -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>${junit.version}</version>
  <scope>test</scope>
</dependency>
 
<!-- Spring test -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>${spring.version}</version>
</dependency> 

2      测试连通性

2.1  原始点

public classJPATest {
  
   private ApplicationContext ctx = null;
   private PersonService personService = null;
  
   {
      ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
      personService = ctx.getBean(PersonService.class);//类似注解注入的方式
   }
  
   /**
    * 测试数据库是否连通
    * @throws SQLException
    */
   @Test
   public void testDataSource() throws SQLException {
      DataSourcedataSource= ctx.getBean(DataSource.class);
      System.out.println(dataSource.getConnection());
   }
}

2.2   注解

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/applicationContext-*.xml"})
public class SpringTest2 {

    @Test
    public void getItemById() throws Exception {
    }

}

3       Dao及service

3.1  目录结构

 

 

3.2  常规

 
public class PageHelperTest {

    private ApplicationContext applicationContext;

    @Before
    public void before(){
        applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
    }

    @Test
    public void testPageHelper() throws Exception {
        //获得Mapper的代理对象
        TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
        //设置分页信息
        PageHelper.startPage(1, 30);
        //执行查询
        TbItemExample example = new TbItemExample();
        List<TbItem> list = itemMapper.selectByExample(example);
        //取分页信息
        PageInfo<TbItem> pageInfo = new PageInfo<>(list);
        System.out.println(pageInfo.getTotal());
        System.out.println(pageInfo.getPages());
        System.out.println(pageInfo.getPageNum());
        System.out.println(pageInfo.getPageSize());
    }

} 

3.3  注解

 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/applicationContext-*.xml" })
public class ItemServiceImplTest {
    @Autowired
    protected TbItemMapper itemMapper;

    @Test
    public void getItemById() throws Exception {
        TbItem item = itemMapper.selectByPrimaryKey(830972L);
        System.out.println(item);
    }

}


 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值