学习笔记,自己写的一个service层和dao层,记录一下,这方面刚入门,有不对的地方还请大佬们指出


目录

    • 项目结构
    • 实体类
    • dao层接口
    • dao层实现类
    • service层接口
    • service层实现类
    • 测试类


这里就以Student实体类为例


项目结构

Java的service层和dao层应该怎么写_service层和dao层

实体类

添加属性和属性对应的get,set方法,有参无参构造方法,toString()方法

package entity;public class Student {
    private int stuNo;
    private String name;
    private String sex;
    private String address;
    private int age;
    private String phone;

    public Student() {
    }

    public Student(int stuNo, String name, String sex, String address, int age, String phone) {
        this.stuNo = stuNo;
        this.name = name;
        this.sex = sex;
        this.address = address;
        this.age = age;
        this.phone = phone;
    }

    public int getStuNo() {
        return stuNo;
    }

    public void setStuNo(int stuNo) {
        this.stuNo = stuNo;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "stuNo=" + stuNo +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                '}';
    }}


dao层接口

根据实体类创建增删改查学生信息的方法

package dao.student;import entity.Student;public interface StudentDao {
    void addInfo(Student student);
    void deleteInfo(int stuNo);
    void updateInfo(Student student);
    Student findInfo(int stuNo);}


dao层实现类

实现dao层接口,直接对数据库进行操作

package dao.student.studentImpl;import dao.student.StudentDao;import entity.Student;public class StudentDaoImpl implements StudentDao {
    Student student = new Student();

    @Override
    public void addInfo(Student student) {

    }

    @Override
    public void deleteInfo(int stuNo) {

    }

    @Override
    public void updateInfo(Student student) {

    }

    @Override
    public Student findInfo(int stuNo) {
        return student;
    }}


service层接口

根据实际需求,在dao层接口中选择方法创建

package service.student;import entity.Student;public interface StudentService {
    void addInfo(Student student);
    void deleteInfo(int stuNo);
    void updateInfo(Student student);
    Student findInfo(int stuNo);}


service层实现类

实现service层接口,不直接对数据库进行操作,通过dao层实现类对数据库进行操作(直接对数据库进行操作的只有dao层实现类)

package service.student.studentImpl;import dao.student.studentImpl.StudentDaoImpl;import entity.Student;import service.student.StudentService;public class StudentServiceImpl implements StudentService {
    StudentDaoImpl studentDaoImpl = new StudentDaoImpl();

    @Override
    public void addInfo(Student student) {
        studentDaoImpl.addInfo(student);
    }

    @Override
    public void deleteInfo(int stuNo) {
        studentDaoImpl.deleteInfo(stuNo);
    }

    @Override
    public void updateInfo(Student student) {
        studentDaoImpl.updateInfo(student);
    }

    @Override
    public Student findInfo(int stuNo) {
        return studentDaoImpl.findInfo(stuNo);
    }}


测试类

package test;import entity.Student;import service.student.studentImpl.StudentServiceImpl;public class MyTest {
    public static void main(String[] args) {
        StudentServiceImpl serviceImpl = new StudentServiceImpl();
        Student student = new Student();
        student.setName("张三");
        student.setAddress("上海");
        student.setAge(15);
        student.setPhone("123");
        student.setStuNo(123);
        student.setSex("男");
        serviceImpl.addInfo(student);
    }}