美文网首页
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