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());
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/cc35554e9b21d75f6dcf7065c2d1e548.png)
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);
}
}