美文网首页
003_手把手教程_spring boot集成mybatis亲测

003_手把手教程_spring boot集成mybatis亲测

作者: cjxz | 来源:发表于2017-08-31 17:57 被阅读0次

    写在前面的话

    上一节我们利用mybatis-generator生成DAO层,但是并没有和spring boot关联起来。网上的资料都是单纯的将springboot和mybatis整合在一起但是没有集成到web项目中。我们这个demo是将mybatis集成到springboot中开发web项目的案例,所以更加适合大家学习。

    1. 整理pom文件

    前面我们单纯的使用了mybatis的jar包,现在我们删掉这个jar包依赖,使用springboot提供给我的jar包

    <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>1.1.1</version>
        </dependency>
    

    这个jar包里面包含了mybatis需要使用的jar包。先看看代码生成器帮我们生成的代码截图

    代码自动生成结果.png

    我们需要在service层使用上面的DAO层

    2.创建service层

    2.1接口

    package com.user.service;
    import com.user.entity.UserInfo;
    public interface UserInfoService {
        public void saveUserInfo(UserInfo userInfo);
    }
    

    2.2实现类

    package com.user.service.impl;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import com.user.entity.UserInfo;
    import com.user.mapper.UserInfoMapper;
    import com.user.service.UserInfoService;
    @Service("userInfoService")
    public class UserInfoServiceImpl implements UserInfoService {
        @Autowired
        private UserInfoMapper userInfoMapper;
        public void saveUserInfo(UserInfo userInfo) {
            userInfoMapper.insertSelective(userInfo);
        }
    }
    

    3.控制层

    package com.user.controller;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.user.entity.UserInfo;
    import com.user.service.UserInfoService;
    import com.user.vo.UserInfoVO;
    
    @RestController
    @RequestMapping("/userInfo")
    @MapperScan(basePackages={"com.user.mapper"})
    public class UserInfoController {
        @Autowired
        private UserInfoService userInfoService;
        @RequestMapping("/getUserInfo")
        public UserInfoVO getUserInfo (){
            UserInfoVO userInfo = new UserInfoVO();
            userInfo.setId(1345);
            userInfo.setUserName("ceshi");
            return userInfo;
        }
        @RequestMapping("/saveUserInfo")
        public void saveUserInfo(){
            UserInfo userInfo = new UserInfo();
            userInfo.setUserEmail("test@qq.com");
            userInfo.setUserKey("abc");
            userInfo.setUserName("abc");
            userInfo.setUserPassword("jjjj");
            userInfo.setUserPhoneNumber("13112345678");
            userInfoService.saveUserInfo(userInfo);
        }
    }
    

    控制层增加了注解:
    @MapperScan(basePackages={"com.user.mapper"})
    这个千万别掉了,表示需要使用的mapper。
    忘了说了,代码自动生成mapper类之后,需要在类上面添加@Mapper这个注解,以便让上面的@MapperScan扫描到这个文件,就这样springboot和mybatis就关联起来了

    4.修改启动类的注解

    @Configuration  
    @ComponentScan(basePackages={"com.user.controller","com.user.service.impl"})
    @EnableAutoConfiguration 
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class);
        }
    }
    

    增加service层扫描,让实例service类的工作交给spring。到此我们springboot集成mybatis开发web项目就ok了,启动起来看看结果。
    访问:http://localhost:8080/userInfo/saveUserInfo
    结果:

    执行结果.png

    相关文章

      网友评论

          本文标题:003_手把手教程_spring boot集成mybatis亲测

          本文链接:https://www.haomeiwen.com/subject/gtxcjxtx.html