Mybatis之通用mapper的使用

来源:互联网 发布:淘宝上日本直邮几天 编辑:程序博客网 时间:2024/06/14 16:00

       目前通用mapper只支持对单表的操作,对单表的增删改查,无需在mapper.xml写对应的sql语句,只需要我们调用相应的接口,对于快速开发极为方便。

1.首先在maven项目,在pom.xml中引入mapper的依赖

<dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>3.3.8</version></dependency>

2.Spring配置文件中加入扫描路径

<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.xinnet.**.mapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean>

3.实体类设置主键

@Table(name = "op_virtual_ip")public class VirtualIpBean {      //主键    @Id    Long id;       @Column       String data;}

4.业务mapper接口继承通用mapper,并只定实体泛型

import tk.mybatis.mapper.common.Mapper;public interface IVirtualIPMapper extends Mapper<VirtualIpBean> {}

5.业务mapper接口的实际使用

import java.util.Date;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import tk.mybatis.mapper.entity.Example;@Servicepublic class VirtualIpService {  @Autowired  IVirtualIPMapper vipMapper;  public void test(){    VirtualIpBean vipBean = new VirtualIpBean();    vipBean.setBeginTime(new Date());    //(1)mapper基础接口    //select接口      List<VirtualIpBean> vipList = vipMapper.select(vipBean);//根据实体中的属性值进行查询,查询条件使用等号    VirtualIpBean vip = vipMapper.selectOne(vipBean);//根据实体中的属性进行查询,只能有一个返回值,有多个结果是抛出异常,查询条件使用等号    List<VirtualIpBean> vipList2 = vipMapper.selectAll();//查询全部结果,select(null)方法能达到同样的效果    VirtualIpBean vip2 = vipMapper.selectByPrimaryKey(1);//根据主键字段进行查询,方法参数必须包含完整的主键属性,查询条件使用等号    int count = vipMapper.selectCount(vipBean);//根据实体中的属性查询总数,查询条件使用等号    //insert接口    int a = vipMapper.insert(vipBean);//保存一个实体,null的属性也会保存,不会使用数据库默认值    int a1 = vipMapper.insertSelective(vipBean);//保存实体,null的属性不会保存,会使用数据库默认值    //update接口    int b = vipMapper.updateByPrimaryKeySelective(vipBean);//根据主键更新属性不为null的值    int c = vipMapper.updateByPrimaryKey(vipBean);//根据主键更新实体全部字段,null值会被更新    //delete接口    int d = vipMapper.delete(vipBean);//根据实体属性作为条件进行删除,查询条件使用等号    int e = vipMapper.deleteByPrimaryKey(1);//根据主键字段进行删除,方法参数必须包含完整的主键属性    //(2)Example方法    Example example = new Example(VirtualIpBean.class);    example.createCriteria().andEqualTo("id", 1);    example.createCriteria().andLike("val", "1");    //自定义查询    List<VirtualIpBean> vipList3 = vipMapper.selectByExample(example);  }}










1 0
原创粉丝点击