配置參數設置:
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();
}
}