文章目录
- Springboot简单整合MybatisPlus及其组件,以及测试多种数据库操作-CURD(MySQL)
- 1. 配置依赖
- 2. 配置拦截器插件
- 3.实体类
- 4.测试类
Springboot简单整合MybatisPlus及其组件,以及测试多种数据库操作-CURD(MySQL)
1. 配置依赖
com.baomidou
mybatis-plus-boot-starter
3.5.1
mysql
mysql-connector-java
runtime
2. 配置拦截器插件
@Configuration
@MapperScan("xxx.dao")
public class MybatisPlusConfig {
// @Bean
// public PaginationInterceptor paginationInterceptor(){
// return new PaginationInterceptor();
// }
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
//定义MP拦截器
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//添加具体的拦截器
//分页插件-MySQL
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//防止全表更新插件
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
return interceptor;
}
}
3.实体类
@ApiModel("省份实体类")
@TableName(value = "t_province_info")
public class ProvinceInfo implements Serializable {
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("省份")
private String province;
@ApiModelProperty("地址")
private String address;
@ApiModelProperty("国家")
private String country;
@ApiModelProperty("城市")
private String city;
@ApiModelProperty("经度")
private String longitude;
@ApiModelProperty("纬度")
private String latitude;
public ProvinceInfo() {
}
public ProvinceInfo(Long id, String province, String address, String country, String city, String longitude, String latitude) {
this.id = id;
this.province = province;
this.address = address;
this.country = country;
this.city = city;
this.longitude = longitude;
this.latitude = latitude;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
@Override
public String toString() {
return "ProvinceInfo{" +
"id=" + id +
", province='" + province + ''' +
", address='" + address + ''' +
", country='" + country + ''' +
", city='" + city + ''' +
", longitude='" + longitude + ''' +
", latitude='" + latitude + ''' +
'}';
}
}
4.测试类
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import xxx.ProvinceInfo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.HashMap;
import java.util.List;
@SpringBootTest
@RunWith(SpringRunner.class)
public class MybatisPlusTest {
@Autowired
private ProvinceInfoDAO provinceInfoDAO;
@Test
public void select(){
String province="广东省";
String city="广州市";
//wrapper为条件构造七,空代表查询所有数据
List provinceInfos = provinceInfoDAO.selectList(null);
Integer provinceNumber = provinceInfoDAO.selectCount(null);
System.out.println("数据总数"+provinceNumber);
ProvinceInfo provinceInfo = provinceInfoDAO.selectById(17);
System.out.println(provinceInfo);
HashMap hashMap=new HashMap<>();
hashMap.put("province",province);
hashMap.put("city",city);
List provinceInfoList = provinceInfoDAO.selectByMap(hashMap);
System.out.println(provinceInfoList);
}
@Test
public void pageQuery(){
//当前页
int curPage=2;
//该页条数大小
int pageSize=5;
Page page = new Page<>(curPage, pageSize);
//wrapper为条件查询
provinceInfoDAO.selectPage(page,null);
List records = page.getRecords();
System.out.println(records);
records.forEach(System.out::println);
System.out.println("总页数-->"+page.getTotal());
System.out.println("当前页-->"+page.getCurrent());
System.out.println("当前页查询条数-->"+page.getSize());
System.out.println("总页数-->"+page.getPages());
}
@Test
public void insert(){
ProvinceInfo provinceInfo=new ProvinceInfo();
provinceInfo.setAddress("西藏自治区阿里地区改则县");
// provinceInfo.setId((long) 3000);//Id如果不自定义的话就会按策略默认生成
provinceInfo.setCity("阿里地区");
provinceInfo.setProvince("西藏自治区");
provinceInfo.setCountry("中国");
provinceInfo.setLatitude("35.0858083");
provinceInfo.setLongitude("82.9338680");
provinceInfoDAO.insert(provinceInfo);
System.out.println("插入数据成功:"+provinceInfo);
}
@Test
public void delete(){
// provinceInfoDAO.delete(null);//删除所有
Long id= Long.valueOf("1525391952407310337");
provinceInfoDAO.deleteById(id);
HashMap hashMap=new HashMap<>();
hashMap.put("city","阿里地区");
hashMap.put("id",3000);
provinceInfoDAO.deleteByMap(hashMap);
}
@Test
public void update(){
ProvinceInfo provinceInfo=new ProvinceInfo();
provinceInfo.setId(Long.valueOf("1525434676810067969"));
provinceInfo.setAddress("12345");
provinceInfoDAO.updateById(provinceInfo);
}
@Test
public void testWrapperOr(){
QueryWrapper wrapper=new QueryWrapper<>();
// "SELECT id,province,address,country,city,longitude,latitude FROM t_province_info WHERe (city = ? OR city = ?)"
wrapper.eq("city","广州市").or().eq("city","清远市");
List provinceInfos = provinceInfoDAO.selectList(wrapper);
System.out.println(provinceInfos);
}
@Test
public void testWrapperAnd(){
String province="广东省";
String latitude="23.3946209";
HashMap hashMap=new HashMap<>();
hashMap.put("province","广东省");
hashMap.put("latitude","23.3946209");
List provinceInfoList = provinceInfoDAO.selectByMap(hashMap);
System.out.println(provinceInfoList);
QueryWrapper wrapper=new QueryWrapper<>();
// "SELECT id,province,address,country,city,longitude,latitude FROM t_province_info WHERe (city = ? OR city = ?)"
wrapper.eq("city","清远市")
.eq("latitude","23.3946209089");
//"SELECt id,province,address,country,city,longitude,latitude FROM t_province_info WHERe (city = ? AND latitude = ?)"
List provinceInfos1 = provinceInfoDAO.selectList(wrapper);
System.out.println(provinceInfos1);
//
// UpdateWrapper wrapper=new UpdateWrapper<>();
// wrapper.set("province","广东省").set("latitude","23.394620901")
// .eq("province","广东省01").eq("latitude","23.3946209");//有set
ProvinceInfo provinceInfo=new ProvinceInfo();
provinceInfo.setProvince("广东省");
provinceInfo.setLatitude(latitude);
// //UPDATE t_province_info SET province=?, latitude=? WHERe (province = ? OR latitude = ?)
// provinceInfoDAO.update(null,wrapper);
//
QueryWrapper wrapper1=new QueryWrapper<>();
wrapper1.eq("province","广东省1").or().eq("latitude",latitude);//匹配字段值,没有set
ProvinceInfo provinceInfo1=new ProvinceInfo();
provinceInfo1.setProvince("广东省01");
provinceInfo1.setLatitude(latitude);
//UPDATE t_province_info SET province=?, latitude=? WHERe (province = ? OR latitude = ?)
provinceInfoDAO.update(provinceInfo1,wrapper1);
}
@Test
public void testOrderBy(){
//SELECT id,province,address,country,city,longitude,latitude FROM t_province_info ORDER BY id ASC
QueryWrapper wrapper=new QueryWrapper<>();
wrapper.orderByAsc("id");
System.out.println(provinceInfoDAO.selectList(wrapper).get(0));
//SELECT id,province,address,country,city,longitude,latitude FROM t_province_info ORDER BY id DESC
QueryWrapper wrapper1=new QueryWrapper<>();
wrapper1.orderByDesc("id");
System.out.println(provinceInfoDAO.selectList(wrapper1).get(0));
}
@Test
public void testLike(){
QueryWrapper wrapper=new QueryWrapper<>();
// wrapper.notLike("province","东");
wrapper.like("province","东");
List provinceInfos = provinceInfoDAO.selectList(wrapper);
System.out.println(provinceInfos);
}
}