Spring MVC 整合 Mybaits

整合目标 | 控制层采用 spring mvc、持久层使用 mybatis 实现

一、整合需要的jar包

spring(包括spring mvc)包、mybatis包、mybatis-spring整合包、数据库驱动包、第三方连接池包

二、整合思路

  • dao 层

      1. SqlMapConfig.xml,空文件即可,但需要文件头
      1. applicationContext-dao.xml
      • a. 数据库连接池
      • b. SqlSessionFactory对象,需要spring和mybatis整合包下的。
      • c. 配置mapper文件扫描器。
  • service 层

      1. applicationContext-service.xml包扫描器,扫描@service注解的类。
      1. applicationContext-trans.xml配置事务。
  • controller 层

      1. Springmvc.xml
      • a. 包扫描器,扫描@Controller注解的类。
      • b. 配置注解驱动(代替配置处理器映射器和处理器适配器)
      • c. 配置视图解析器
  • web.xml 文件

      1. 配置spring容器随项目启动而启动。
      1. 配置前端控制器。
      1. 配置过滤器,解决post方式提交乱码问题。

三、整合步骤

1、创建动态web工程并导入必需的jar包
2、加入配置文件
创建资源文件夹config,在其下创建mybatis和spring文件夹, 用来存放配置文件

  • SqlMapConfig.xml
    使用逆向工程来生成Mapper相关代码,不需要配置别名。在config/mybatis下创建SqlMapConfig.xml





  • applicationContext-dao.xml
    配置数据源、配置SqlSessionFactory、mapper扫描器。



    
    

    
    
       
       
       
       
       
       
    

    
    
       
       
       
       
    

    
    
       
       
    

  • db.properties
    配置数据库相关信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springmvc?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
  • applicationContext-service.xml


    
    

  • applicationContext-trans.xml (配置事务)


    
    
       
       
    
    
    
       
           
           
           
           
           
           
           
           
       
    
    
    
       
    

  • springmvc.xml


    
    
    
    
    
    
    
       
       
       
       
    

  • web.xml


    springmvc-web
    
       index.html
       index.htm
       index.jsp
       default.html
       default.htm
       default.jsp
    
    
    
       contextConfigLocation
        classpath:spring/applicationContext*.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    
    
    
       springmvc-web
        org.springframework.web.servlet.DispatcherServlet
       
           contextConfigLocation
           classpath:spring/springmvc.xml
       
    
    
       springmvc-web
       
       *.action
    

  • 导入静态页面与资源
    配置完工程目录如下:
仅供参考
  • demo 示例
    • 需求

      • 实现商品查询列表,从mysql数据库查询商品信息。
    • dao 层开发

      • 使用 mybatis 逆向工程生成代码,参考 逆向工程
    • service 层开发

      • 接口
      public interface ItemService {
          /**
           * 查询商品列表
           * @return
           */
          List queryItemList();
      }
      
      • 实现类
      @Service
      public class ItemServiceImpl implements ItemService {
          @Autowired
          private ItemMapper itemMapper;
      
          @Override
          public List queryItemList() {
             // 从数据库查询商品数据
             List list = this.itemMapper.selectByExample(null);
             return list;
          }
      }
      
    • controller 层开发

      @Controller
      public class ItemController {
          @Autowired
          private ItemService itemService;
      
          /**
           * 显示商品列表
           * @return
           */
          @RequestMapping("/itemList")
          public ModelAndView queryItemList() {
             // 获取商品数据
             List list = this.itemService.queryItemList();
             ModelAndView modelAndView = new ModelAndView();
             // 把商品数据放到模型中
             modelAndView.addObject("itemList", list);
             // 设置逻辑视图
             modelAndView.setViewName("itemList");
             return modelAndView;
          }
      }
      
    • 測試
      浏览器访问:http://127.0.0.1:8080/springmvc-web/itemList.action

你可能感兴趣的:(Spring MVC 整合 Mybaits)