千峰商城-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<T> extends Mapper<T>, MySqlMapper<T>{

}

UserDAO.java:

public interface UserDAO extends GeneralDAO<User>{
}

CategoryDAO.java:

public interface CategoryDAO extends GeneralDAO<Category>{
}

 

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

 

 
 
 
posted @ 2022-05-07 02:33  临易  阅读(140)  评论(0编辑  收藏  举报