千峰商城-springboot项目搭建-13-tkMapper常用方法之增删改查


1.bean中新建一个实体类Category.java:

 Category.java:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Category{
    private int categoryId;
    private String categoryName;
    private Integer categoryLevel;
    private Integer parentId;
    private String categoryIcon;
    private String categorySlogan;
    private String categoryPic;
    private String categoryBgColor;

}
  2.创建DAO:   GeneralDAO.java:  (一定不能放到mapperScan能扫描到的包中,要创建一个common包或general包放进去)
public interface GeneraDAO extends Mapper, MySqlMapper{

}

UserDAO.java:

public interface UserDAO extends GeneralDAO{
}

CategoryDAO.java:

public interface CategoryDAO extends GeneralDAO{
}

3.测试(增删改):

CategoryDAOTest.java:

@RunWith(SpringRunner.class)
@SpringBootTest(classes=TkmapperDemoApplication.class)
public class CategoryDAOTest{
    //添加
    @Autowired
    private CategoryDAO categoryDAO;

    @Test
    public void testInsert(){
        Category category = new Category(0,"测试类别1",1,0,"hehe","01.png","hehe","aaa.jpg","black");
        int i = categoryDAO.insert(category);
        assertEquals(1,i);
    }

    //修改
    @Test
    public void testUpdate(){
        Category category = new Category(46,"测试类别2",1,0,"heihei","02.png","hehe","aaa.jpg","black");
        int i = categoryDAO.updateByPrimaryKey(category);
        assertEquals(1,i);
    }

    
    //删除
    @Test
    public void testDelete(){
        int i = categoryDAO.deleteByPrimaryKey(46);
        assertEquals(1,i);
    }
}

4.测试(查询):

CategoryDAOTest.java:

    @Test
    //查询所有
    public void testSelect1(){
    List category = categoryDAO.selectAll();
    for(Category category:categories){
        System.out.println(category);
    }

    //根据主键查询
    @Test
    public void testSelect2(){
        Category category = categoryDAO.selectByPrimaryKey(45);
        System.out.println(category);
    }

    //条件查询
    @Test
    public void testSelect3(){
        Example example = new Example(Category.class);//创建一个example对象封装类别Category查询条件
        Example.Criteria carteria = example.createCriteria();
        criteria.andEqualTo("categoryLevel",1);//查询类别等于1的数据
        criteria.orEqualTo("categoryLevel",2);//查询类别等于1或者2的数据
        //criteria.andNotEqualTo("categoryLevel",1);//查询类别不等于1的数据

        criteria.andLike("categoryName","%茶%");//查询商品名中带有”茶“字的数据

        List categories = categoryDAO.selectByExample(example);
        for(Category category:categories){
            System.out.println(category);
            }
    }

    //分页查询
    @Test
    public void testSelect4(){
        int pageNum=2;
        int pageSize=10;
        int start = (pageNum-1) * pageSize;

        RowBounds rowBounds = new RowBounds(start,pageSize);
        List category = categoryDAO.selectByRowBounds(new Category() ,rowBounds);
        for(Category category:categories){
            System.out.println(category);
            }

        //查询总记录数
        int i = categoryDAO.selectCount(new Category() );
        System.out.println(i);
    }

    //带条件的分页查询
    @Test
    public void testSelect5(){
        Example example = new Example(Category.class);//创建一个example对象封装类别Category查询条件
        Example.Criteria carteria = example.createCriteria();
        criteria.andEqualTo("categoryLevel",1);//查询类别等于1的数据

        int pageNum=1;
        int pageSize=3;
        int start = (pageNum-1) * pageSize;
        RowBounds rowBounds = new RowBounds(start,pageSize);

        List categories = categoryDAO.selectByExampleAndRowBounds(exemple,rowBounds);
        for(Category category:categories){
            System.out.println(category);
            }
        //查询满足条件的总记录数
        int i = categoryDAO.selectCountByExample(example);
        System.out.println(i);
    }
     

相关