crud项目编写(二)

接着框架构建来做https://blog.csdn.net/weixin_42565135/article/details/89406627

在自动生成的代码中可以看到好多注释,这些我们可以不需要生成可以不要:

在mbg.xml中加入如下代码


  

1.在EmployeeMapper中加入如下代码(为了查询时可以看到部门信息)

1.在EmployeeMapper中添加联合查询

  
  
    
    
    
    
    
    
    
  

  
    e.emp_id, e.emp_name, e.gender, e.email, e.d_id,d.dept_id,d.dept_name
  

    
    
    
    
    

2.2.进行测试
新建测试类DataBaseTest,将数据库调通

package crud.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import crud.dao.DeptMapper;
/**
 * 测试dao层的工作
 * 
 * @author liuxin
 *推荐spring项目来使用spring的单元测试,可以自动注入我们要使用的组件,来代替testCRUD()中注释掉的1,2 步
 *1导入springtest模块,在pom文件添加相关依赖,在类上加入注解
 *2ContextConfiguration指定spring位置
 *3.Runwith注解来说明哪个单元测试来运行
 *4.直接autowired
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class DataBaseTest {
    @Autowired
    DeptMapper deptMapper;
    /**
     * 测试DeptMapper
     */
    @Test
public void testCRUD(){
//    //1.创建springIOC容器
//ApplicationContex tioc=newClassPathXmlApplicationContext("applicationContext.xml");
//    //2.从容器中取mapper    
//        DeptMapper bean=ioc.getBean(DeptMapper.class);
        System.out.println("DataBaseTest.testCRUD()-----"+deptMapper);
        
}
}

在pom中添加: 
    

    org.springframework
    spring-test
    4.3.7.RELEASE
    test


3.运行JunitTest,结果出错了

解决:检查发现服务器没开,但开了还不对,然后去看控制台,报这个错

Caused by: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 73; 元素 "context:component-scan" 的前缀 "context" 未绑定。通过查资料,需要在 @ContextConfiguration 中把resources下的所有spring配置文件名写齐全,就不会因为加载不到没写的spring配置文件而加载失败了,写全就能成功加载完所有的配置文件进而全部加载成功了,即classpath:applicationContext*.xml;这个问题确实解决了,又有一个错出现:

org.springframework.beans.factory.NoSuchBeanDefinitionException(未解决)

你可能感兴趣的:(SSM)