PLSQL数据库Mybatis学习Day02

https://www.yuque.com/docs/share/fe42dbdb-7d33-4ea9-9021-48bfcb67411b?# 《数据库》

目录

3.3.6、接口绑定方案

3.3.6.1、实现方式

3.3.6.2、测试有参查询

3.3.6.3、测试接口下实现CRUD

3.3.6.4、测试接口下实现动态Sql

3.3.6.5、单表查询时字段名与属性名不一致

3.3.6.6、多表查询时字段名与属性名不一致(一对一|多对一)

3.3.6.7、多表查询时字段名与属性名不一致(一对多)

3.3.6.8、接口注解开发


3.3.6、接口绑定方案

以下实现接口时默认已经以javabean规范创建了与表对应的实体类

接口的命名与映射文件一致 (表名Mapper.java | 表名Mapper.xml)

实体类命名与对应表名一致 (表名.java)

Dept类

public class Dept {
    private int id;
    private String name;
    private String loc;

    public Dept() {
    }

    public Dept(int id, String name, String loc) {
        this.id = id;
        this.name = name;
        this.loc = loc;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLoc() {
        return loc;
    }

    public void setLoc(String loc) {
        this.loc = loc;
    }

    @Override
    public String toString() {
        return "Dept{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", loc='" + loc + '\'' +
                '}';
    }
}

Emp类

public class Emp {
    private int empno;
    private String ename;
    private double sal;
    private String job;
    private double comm;
    private int mgr;
    private Date hiredate;
    private int deptno;

    //属性: javabean : 员工对象所在的部门信息
    private Dept pddDept;

    public Emp() {
    }

    public Emp(int empno, String ename, double sal, String job, double comm, int mgr, Date hiredate, int deptno) {
        this.empno = empno;
        this.ename = ename;
        this.sal = sal;
        this.job = job;
        this.comm = comm;
        this.mgr = mgr;
        this.hiredate = hiredate;
        this.deptno = deptno;
    }

    public Dept getPddDept() {
        return pddDept;
    }

    public void setPddDept(Dept pddDept) {
        this.pddDept = pddDept;
    }
    public int getEmpno() {
        return empno;
    }

    public void setEmpno(int empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public double getComm() {
        return comm;
    }

    public void setComm(double comm) {
        this.comm = comm;
    }

    public int getMgr() {
        return mgr;
    }

    public void setMgr(int mgr) {
        this.mgr = mgr;
    }

    public Date getHiredate() {
        return hiredate;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "empno=" + empno +
                ", ename='" + ename + '\'' +
                ", sal=" + sal +
                ", job='" + job + '\'' +
                ", comm=" + comm +
                ", mgr=" + mgr +
                ", hiredate=" + hiredate +
                ", deptno=" + deptno +
                ", pddDept=" + pddDept +
                '}';
    }
}

3.3.6.1、实现方式

1)同名接口

/*
    接口绑定方案下的接口 :
 */
public interface DeptMapper {
    // 查询所有的部门信息
    public List<Dept> queryAll();
}

2)同名sql映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
    1.接口与SQL映射文件名字要保持一致,并放在同一个包下
    2.SQL映射文件的命名空间namespace定义为与之绑定的接口的包名.类名
    3.SQL标签的id属性值与接口中所对应的抽象方法的方法名保持一致
    4.SQL语句的参数与返回值要求与对应的抽象方法的参数与返回值保持一致
-->
<mapper namespace="com.yjxxt.mappers.DeptMapper">
    <!--查询所有的部门信息-->
    <select id="queryAll" resultType="Dept">
        select * from dept
    </select>
</mapper>

3)mybatis添加项

<!--扫描接口 : 接口绑定方案-->
<mappers>
    <!--<mapper class="com.yjxxt.mappers.DeptMapper"/>
    <mapper class="com.yjxxt.mappers.EmpMapper"/>-->
    <package name="com.yjxxt.mappers"/>  <!--包扫描-->
</mappers>

4)接口测试类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值