学习笔记,自己写的一个service层和dao层,记录一下,这方面刚入门,有不对的地方还请大佬们指出
目录
- 项目结构
- 实体类
- dao层接口
- dao层实现类
- service层接口
- service层实现类
- 测试类
这里就以Student实体类为例
项目结构
实体类
添加属性和属性对应的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); }}