ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-05-07 03:00:40  阅读:116  来源: 互联网

标签:Category category 13 springboot tkMapper 查询 int categoryDAO public


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);
    }

 

     

标签:Category,category,13,springboot,tkMapper,查询,int,categoryDAO,public
来源: https://www.cnblogs.com/lysboke/p/16240914.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有