MyBatis-plus在eclipse中的使用详解

1.在eclipse里面添加pom.xml的配置


       org.apache.velocity
       velocity
       1.7


    com.baomidou
    mybatis-plus
    2.1.6

注意:mybatis-plus会自动维护mybatis以及mybatis-spring的依赖,所以不需要引入后两者,避免发生版本冲突


2.修改配置文件
在spring配置文件中application-dao.xml中,将mybatis的配置替换为



        
        
        
        
        
        
            
                
                
                    
                
            
        
        
         
	
	
        
        
        
        
        
        
        
    
开始使用
1.写实体


/*
 * 这里有两个注解需要注意,第一是@tableName("user"),它是指定与数据库表的关联,这里的注解意味着你的数据库里应该有一个名为user的
  *表与之对应,
 * 并且数据表的列名应该就是User类的属性,对于User类中有而user表中没有的属性需要加第二个注解@TableField(exist = false),
 * 表示排除User类中的属性.
 */

@TableName("Items")
public class Items implements Serializable{
	
    private Integer id;

    private String name;

    private Float price;

    private String pic;

    private Date createtime;

    private String detail;
    @TableField(exist = false)
    
    private String test;
}

2.写dao接口

/**
 * mybatisplus dao接口
 * @author LY
 *
 */
public class itemsExtMapper extends BaseMapper{
	@Select("selectItemsList")
	List selectItemsList(Pagination page,String state);
}
3.新建Mapper文件




    
    
        id, name, age
    

    

4.新建service层

/**
 * ItemsExtService继承了ServiceImpl类,mybatis-plus通过这种方式为我们注入了itemsExtMapper,
 * 样可以使用service层默认为我们提供的很多方法,也可以调用我们自己在dao层编写的操作数据库的方法.
 * Page类是mybatis-plus提供分页功能的一个model,继承了Pagination,这样我们也不需要自己再编写一个Page类,
 * 直接使用即可.
 * @author LY
 *
 */
public class ItemsExtService extends ServiceImpl{
	public Page selectItemsPage(Page page, String state) {
        page.setRecords(baseMapper.selectItemsList(page,state));
        return page;
    }
}


5.controller中的使用

        Page page=new Page(1,10);
        page = itemsService.selectItemsPage(page, "NORMAL");

Mybatisplus的条件构造器

使用entityWrapper可以完成一些简单的条件查询


public void test(){
       EntityWrapper ew=new EntityWrapper();
       ew.setEntity(new User());
       String name="wang";
       Integer age=16;
       ew.where("name = {0}",name).andNew("age > {0}",age).orderBy("age");
       List list = userService.selectList(ew);
       Page page2 = userService.selectPage(page, ew);
    }
自定义的mapper同样能后使用EntityWrapper
1.在Mappper中定义:
 List selectMyPage(RowBounds rowBounds, @Param("ew") Wrapper wrapper);
2.在mapper文件中定义:

@Test
public void testTSQL11() {
    /*
     * 实体带查询使用方法  输出看结果
     */
    ew.setEntity(new Items(1));
    ew.where("pic={0}", "'kd.jpg'").and("id=1")
            .orNew("status={0}", "0").or("status=1")
            .notLike("nlike", "notvalue")
            .andNew("new=xx").like("hhh", "ddd")
            .andNew("pwd=11").isNotNull("n1,n2").isNull("n3")
            .groupBy("x1").groupBy("x2,x3")
            .having("x1=11").having("x3=433")
            .orderBy("dd").orderBy("d1,d2");
    System.out.println(ew.getSqlSegment());
}





你可能感兴趣的:(mybatisplus,eclipse)