Java创建Maven项目,使用通用Mapper实现增删改查

Java创建Maven项目,使用通用Mapper实现增删改查

  1. 在创建的pom.xml中导入通用Mapper的jar包
        <!--通用mapper配置-->
        <dependency>
            <groupId>com.github.abel533</groupId>
            <artifactId>mapper</artifactId>
            <version>3.0.1</version>
        </dependency>

Java创建Maven项目,使用通用Mapper实现增删改查_第1张图片
2.配置插件(Mapper在Mybatis的拦截器)

 <!--配置mybatis插件-->
    <plugins>
        <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">
            <!--主键自增回写方法,默认值MYSQL -->
            <!--<property name="IDENTITY" value="MYSQL" />-->
            <!--通用Mapper默认接口,我们定义的Mapper需要实现该接口 -->
            <property name="mappers" value="com.github.abel533.mapper.Mapper" />
        </plugin>
    </plugins>

Java创建Maven项目,使用通用Mapper实现增删改查_第2张图片
3.编写接口继承Mapper
Java创建Maven项目,使用通用Mapper实现增删改查_第3张图片
4.配置实体类与表之间的关系
Java创建Maven项目,使用通用Mapper实现增删改查_第4张图片
5.测试:
通用Mapper中的常用的方法:https://www.cnblogs.com/yirgaMonkey/p/9870555.html

package test;

import com.entity.Dept;
import com.entity.Emp;
import com.github.abel533.entity.Example;
import com.mapper.DeptMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MyTest1 {
    private static SqlSessionFactory factory;
    private SqlSession session;

    @BeforeClass
    public static void  beforeCls() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
        factory = new SqlSessionFactoryBuilder().build(in);
    }

    @Before
    public void before(){
        session = factory.openSession();
    }

    @After
    public  void after(){
        session.commit();
        session.close();
    }


    @Test
    public void test1() {
        //通用Mapper的测试
        DeptMapper mapper = session.getMapper(DeptMapper.class);
        //调用通用Mapper中的查询的方法,完成查询的操作
        //查询所有的信息
        List<Dept> deptList = mapper.select(null);
        for(Dept dept:deptList){
            System.out.println(dept);
        }
    }

    @Test
    public void test2() {
        //查询某一个部门的信息,用dept实体封装
        DeptMapper mapper = session.getMapper(DeptMapper.class);
        Dept dept=new Dept();
        dept.setDeptName("后勤部");
        //调用通用Mapper的查询的方法,进行查询
        List<Dept> deptList = mapper.select(dept);
        for (Dept dept1:deptList){
            System.out.println(dept1);
        }
    }

    @Test
    public void test3() {
        //测试插入一个部门的信息
        DeptMapper mapper = session.getMapper(DeptMapper.class);
        Dept dept=new Dept();
        dept.setDeptName("新部门");
        int count = mapper.insert(dept);
        System.out.println("插入的数量为:"+count);
    }

    @Test
    public void test4() {
        //测试部门编号在1到3之间的部门的信息
        DeptMapper mapper = session.getMapper(DeptMapper.class);
        //条件构造器:通过Example构建增删改查的条件
       Example example=new Example(Dept.class);
       //设置查询条件的内容,1-3之间的部门的编号
        example.createCriteria().andBetween("deptId",1,3);
        //执行查询的条件
        List<Dept> deptList = mapper.selectByExample(example);
        for (Dept dept:deptList){
            System.out.println(dept);
        }
    }
}

方法:List selectAll();
说明:查询全部结果,select(null)方法能达到同样的效果
Java创建Maven项目,使用通用Mapper实现增删改查_第5张图片
Java创建Maven项目,使用通用Mapper实现增删改查_第6张图片
方法:List selectByExample(Object example);
说明:根据Example条件进行查询
重点:这个查询支持通过Example类指定查询列,通过selectProperties方法指定查询列
Java创建Maven项目,使用通用Mapper实现增删改查_第7张图片
Java创建Maven项目,使用通用Mapper实现增删改查_第8张图片

你可能感兴趣的:(java,maven)