美文网首页
MyBatis基于Mapper的执行

MyBatis基于Mapper的执行

作者: _FireFly_ | 来源:发表于2020-11-26 09:21 被阅读0次

Student

package domain;

public class Student {

    private Integer sid;
    private String sname;
    private String ssex;
    private Integer sage;

    public Student() {}
    public Student(Integer sid, String sname, String ssex, Integer sage) {
        this.sid = sid;
        this.sname = sname;
        this.ssex = ssex;
        this.sage = sage;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sname='" + sname + '\'' +
                ", ssex='" + ssex + '\'' +
                ", sage=" + sage +
                '}';
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSsex() {
        return ssex;
    }

    public void setSsex(String ssex) {
        this.ssex = ssex;
    }

    public Integer getSage() {
        return sage;
    }

    public void setSage(Integer sage) {
        this.sage = sage;
    }
}

StudentDao

package dao;
import domain.Student;

public interface StudentDao {
    //持久层   数据读写    JDBC+
    public void insert(Student student);
    public void delete(Integer sid);
    public void update(Student student);
    public Student selectOne(Integer sid);
}

StudentMapper.xml

<?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">
<mapper namespace="dao.StudentDao">

    <insert id="insert">
        insert into student values(#{sid},#{sname},#{ssex},#{sage});
    </insert>

    <delete id="delete">
        delete from student where sid = #{sid}
    </delete>

    <update id="update">
        update student set sname = #{sname},ssex = #{ssex},sage = #{sage} where sid = #{sid}
    </update>

    <select id="selectOne" resultType="domain.Student">
        select * from student where sid = #{sid}
    </select>
</mapper>

StudentService

public class StudentService {

    //业务层   数据处理
    //属性
    //这里通过getMapper()动态代理的方式来获取dao的实现类
    private StudentDao dao = MyUtil.getSqlSession(true).getMapper(StudentDao.class);

    //新增学生
    public void insertStudent(Student student){
        dao.insert(student);//不是我们的dao执行的 我们的dao下面的小弟(Mapper代理)执行的
    }
    //删除学生
    public void deleteStudent(Integer sid){
        dao.delete(sid);
    }
    //修改学生
    public void updateStudent(Student student){
        dao.update(student);
    }
    //查看学生
    public Student selectStudent(Integer sid){
        return dao.selectOne(sid);
    }
}

相关文章

网友评论

      本文标题:MyBatis基于Mapper的执行

      本文链接:https://www.haomeiwen.com/subject/dujfbktx.html