mybatis注解开发

mybatis可以使用xml文件来写sql语句,也可以通过注解来编写简单的sql语句,参考官方文档

可以理解为简单的一些语法可以使用注解来编写,比较方便,但是复杂的语句还是要使用xml文件,只有使用xml文件才能体现mybatis的强大功能。

下面来学习使用注解。

在之前的开发中,我们使用mybatis,需要

1,配置文件,

2,然后创建dao接口,定义方法

3,再然后就要创建mapper.xml文件,在mapper.xml文件中编写sql语句,

4,最后再把mapper文件配置在mybatis主配置文件中就可以进行测试了

使用注解的方式,我们可以在dao接口中直接在方法上写sql语句,不需要创建mapper文件了

创建一个dao接口:先写一些最简单的语句,例如这些最基本的增删改查的语句,我们可以不使用mapper文件直接使用注解来写

public interface IEmpDAO {

    @Select("select * from emp")
    List<Emp> allEmp();

    @Insert("insert into emp (ename,job,deptno,sal,hiredate) value(#{ename},#{job},#{deptno},#{sal},#{hiredate})")
    int insertEmp(Emp emp);

    @Update("update emp set ename=#{ename} where empno=#{empno}")
    int updateEmp(Emp emp);

    @Delete("delete from emp where empno=#{empno}")
    int deleteEmp(int empno);

}

使用注解也需要在mybatis配置文件中配置mapper

测试上面的方法:

public class TestSql {
    public static void main(String[] args) {
        SqlSession sqlSession = SqlFactory.getSqlSession();
        IEmpDAO mapper = sqlSession.getMapper(IEmpDAO.class);
        List<Emp> emps = mapper.allEmp();
        System.out.println(emps);

        int i = mapper.insertEmp(new Emp(0, "张三", "保安", 3, 5000.00, new Date()));
        sqlSession.commit();
        System.out.println(i+"-------------------");
        int i1 = mapper.updateEmp(new Emp(4, "小明"));
        System.out.println(i1 + "+++++++++++++++++++++++++");
        sqlSession.commit();
        int i2 = mapper.deleteEmp(6);
        sqlSession.commit();
        System.out.println(i2);
        sqlSession.close();
    }
}

上面介绍了最简单的注解使用,mybatis其实提供了大量的注解用来替换xml文件,注解表格官方文档如下:

下面学习一下使用注解如何配置结果集。

我们经常会用到的就是联表查询

测试

上面的方法是配置返回结果集的注解配置,也可以在mapper映射文件中配置结果集,然后通过注解引用mapper文件的映射结果集:

创建mapper文件,配置结果集映射,

 然后再接口上使用resultMap注解配置结果集映射名:

注解内的值mapper中ResultMap的id值,记的在配置文件中配置mapper

还可以在注解中使用条件查询,编辑标签

测试

传空值查询所有:

传递员工编号查询单个员工信息

在注解中使用条件查询时,需要将所有的语句放在<script>标签中

原文地址:https://www.cnblogs.com/Zs-book1/p/11277524.html