且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SpringBoot中如何使用注解方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十一

更新时间:2022-07-02 20:57:27

上一篇: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,创建实体类。

SpringBoot中如何使用注解方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十一

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")

查找用户执行结果:

SpringBoot中如何使用注解方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十一

添加用户执行结果:

SpringBoot中如何使用注解方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十一
SpringBoot中如何使用注解方式整合Mybatis? | 带你读《SpringBoot实战教程》之二十一

配套视频