上一篇:SpringBoot中如何使用xml方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十
下一篇:如何区分多数据源? | 带你读《SpringBoot实战教程》之二十二
本文来自于千锋教育在阿里云开发者社区学习中心上线课程《SpringBoot实战教程》,主讲人杨红艳,点击查看视频内容。
SpringBoot中整合Mybatis(注解方式)
添加依赖:
<!-- springboot整合mybatis,注解版 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
依然使用db1数据库中的users表。
创建全局配置文件:application.properties,添加连接数据库的信息:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/db1
逆向生成com.db1.pojo,创建实体类。
mapper:
public interface UsersMapper {
@Select("select * from users where name=#{name}")
Users findUserByName(@Param("name") String name);
@Insert("insert into users(name, password) values(#{name}, #{password})")
void addUser(@Param("name") String name, @Param("password")String password);
}
UsersService:
public interface UsersService {
Users findUser(String name);
void saveUser(Users user);
}
UsersServiceImpl:
@Service
public class UsersServiceImpl implements UsersService {
@Autowired
private UsersMapper usersMapper;
@Override
public Users findUser(String name) {
return usersMapper.findUserByName(name);
}
@Override
public void saveUser(Users user) {
usersMapper.addUser(user.getName(), user.getPassword());
}
}
UsersController:
@RestController
public class UsersController {
@Autowired
private UsersService usersService;
@RequestMapping("/findUser")
//@ResponseBody
public Users findUser(String name) {
return usersService.findUser(name);
}
@RequestMapping("/addUser")
//@ResponseBody
public String addUser() {
Users user = new Users();
user.setName("王小二");
user.setPassword("9999");
usersService.saveUser(user);
return "ok";
}
}
在启动类中添加所有需要扫描的包,mapper需要单独扫描
@SpringBootApplication(scanBasePackages="com.qianfeng")
@MapperScan("com.db1.mapper")
查找用户执行结果:
添加用户执行结果: