1.引入mybatis-starter
2. 配置application.yaml中,指定mapper-location位置即可
3. 编写Mapper接口并标注@Mapper注解com.liang.webadmin.mapper.CityMapper
4. 编写实现接口类。com.liang.webadmin.service.CityService
5. 简单方法直接注解方式com.liang.webadmin.mapper.CityMapper
6. 复杂方法编写mapper.xml进行绑定映射
7. 测试类
8. @MapperScan(“com.atguigu.admin.mapper”) 简化,其他的接口就可以不用标注@Mapper注解
1.引入mybatis-starter
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
import lombok.Data;
@Data
public class City {
private Long id;
private String name;
private String state;
private String country;
}
- 配置application.yaml中,指定mapper-location位置即可
mapper-locations: classpath:mybatis/mapper/*.xml
configuration:
map-underscore-to-camel-case: true`
- 编写Mapper接口并标注@Mapper注解com.liang.webadmin.mapper.CityMapper
@Mapper
public interface CityMapper {
@Select("select * from city where id=#{id}")
public City getById(Long id);
//注释的地方是 =》第二种方式 用注解的方式。
//@Insert("insert into city(`name`,`state`,`country`) values(#{name},#{state},#{country})")
//@Options(useGeneratedKeys = true,keyProperty = "id")
public void insert(City city);
}
4.编写实现接口类。com.liang.webadmin.service.CityService
@Service
public class CityService {
@Autowired
CityMapper cityMapper;
public City getById(Long id){
return cityMapper.getById(id);
}
//City getById(Long id);
//
public void saveCity(City city){
cityMapper.insert(city);
}
}
- 简单方法直接注解方式com.liang.webadmin.mapper.CityMapper
//注释的地方是 =》第二种方式 用注解的方式。
//@Insert("insert into city(`name`,`state`,`country`) values(#{name},#{state},#{country})")
//@Options(useGeneratedKeys = true,keyProperty = "id")
- 复杂方法编写mapper.xml进行绑定映射 mybatis/mapper/CityMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liang.webadmin.mapper.CityMapper">
<!-- public void insert(City city);-->
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
insert into city(`name`,`state`,`country`) values(#{name},#{state},#{country})
</insert>
</mapper>
- 测试类
@Autowired
CityService cityService;
@ResponseBody
@PostMapping("/city")
public City saveCity(City city){
cityService.saveCity(city);
return city;
}
@ResponseBody
@GetMapping("/city")
public City getCityById(@RequestParam("id") Long id){
return cityService.getById(id);
}