在Spring Boot 使用 Mybatis訪問MySql

配置參數設置:

​spring.datasource.url=jdbc:mysql://localhost:3306/test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC  
spring.datasource.username=root
spring.datasource.password=iosaps
spring.datasource.driver-class-name= com.mysql.cj.jdbc.Driver

spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.validation-query=SELECT 1

​

在主引導類上添加 @MapperScan 註解以掃描全部的 mapper 接口,添加@MappedTypes 映射類型

@MappedTypes(Users.class)
@MapperScan("com.techprimers.mybatis.springbootmybatis.mapper")
@SpringBootApplication
public class SpringBootMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootMybatisApplication.class, args);
    }
}

映射接口 mapper

@Mapper
public interface UsersMapper {

    @Select("select * from users")
    List<Users> findAll();

    @Insert("insert into users(id,name,salary) values(#{id},#{name},#{salary})")
    void insert(Users users);
}

使用Mapper包中定義的接口訪問數據庫

@RestController
@RequestMapping("/rest/users")
public class UsersResource {
    private UsersMapper usersMapper;

    public UsersResource(UsersMapper usersMapper) {
        this.usersMapper = usersMapper;
    }

    @GetMapping("/all")
    public List<Users> getAll(){
        return usersMapper.findAll();
    }

    @GetMapping("/update")
    private List<Users> update(){
        Users users=new Users();
        users.setName("Youtube");
        users.setSalary(2333L);
        users.setId(10);
        usersMapper.insert(users);

        return usersMapper.findAll();
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章