SSM spring+springMVC+mybatis

回顾:分层架构
表示层(视图-->控制器)-->业务逻辑层-->数据访问层-->持久层-->DB
C组件 B组件 D组件

课程目标:SSM(Spring+SpringMvc+Mybaits)
功能:实现学生查询

一、创建ssm工程:
1.利用包组织项目结构

2.导入三大框架的支持 
  导包:spring,spring,mybatis
  添加配置:spring的配置文件,mybatis的配置文件,springmvc的配置文件,修改web.xml文件(配置核心控制器)

3.实现mybatis的反向工程
  注意:修改mybatis配置文件,添加sql映射文件

二、spring整合mybatis
1.导入spring整mybatis的插件:mybatis-spring-1.2.0.jar

2.在spring配置文件中定义数据源(DataSource)组件
作用:用于连接数据库





3.创建sqlSessioFactory工厂对象





三、开发dao层组件
1.Dao接口中定义查询所有学生的方法:
List getAllStudent();

2.在sql映射文件中定义持久化操作

3.编写dao层实现类(后期可省)
注意:使用SqlSessionTemplate模板简化Mybatis的开发
public class StudentsMapperImpl implements StudentsMapper {
//定义sqlSessionTemplate属性 ????
private SqlSessionTemplate sqlSessionTemplate;
//略setter和getter

@Override
public List getAllStudent() {
     return sqlSessionTemplate.selectList("com.grade.dao.StudentsMapper.getAllStudent");
}  
 }

4.在spring容器中定义dao层组件(后期可省)





  
  

5.测试dao层组件
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
StudentsMapper mapper=(StudentsMapper)ctx.getBean("studentsMapper");
System.out.println(mapper.getAllStudent().size());
}

四、开发servie层组件
1.在业务接口中添加查询学生的方法:
List getAllStudent();

2.在实现类中实现学生查询

public class StudentServiceImpl implements StudentService {
//调用dao层接口 ??? 为了后期实现属性注入
private StudentsMapper studentsMapper;
@Override
public List getAllStudent() {
// TODO Auto-generated method stub
return studentsMapper.getAllStudent();
}
}

3.在spring配置文件中定义业务组件


五、编写控制器
@Controller
public class StudentController {
//使用autowired实现自动注入,不需要setter和getter
//默认按类型
@Autowired
private StudentService studentService;

@RequestMapping("/show.do")
public String show(Model model) throws Exception{
    List list=studentService.getAllStudent();
    model.addAttribute("list", list);
    return "index";
}    

}

六、前端jsp展示






删除


学号姓名年龄生日 操作

七、在web.xml文件中启动spring容器


contextConfigLocation
classpath:applicationContext.xml


    org.springframework.web.context.ContextLoaderListener

你可能感兴趣的:(SSM spring+springMVC+mybatis)