写在前面的话
上一节我们利用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
结果:
网友评论