JAVA 泛型BaseDao<T> BaseService <T>
来源:互联网 发布:mac免费软件推荐 编辑:程序博客网 时间:2024/06/05 16:47
model 层
package com.maomao.model;import java.io.Serializable;public class User implements Serializable{/** * */private static final long serialVersionUID = 1L;private Long id;private String name;private String age;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
package com.maomao.model;import java.io.Serializable;public class Student implements Serializable{/** * */private static final long serialVersionUID = 1L;private Long id;private String name;private String age;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
BaseDao
package com.maomao.dao;import java.io.Serializable;import java.util.List;public interface BaseDao<T> {void add(T o);void del(Class<T> c, Serializable id);List<T> findAll();public T getById(Serializable id);public void update(T o);}
BaseDaoImpl
package com.maomao.dao.impl;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.util.List;import com.maomao.dao.BaseDao;public class BaseDaoImpl<T> implements BaseDao<T>{@Overridepublic void add(T o) {System.out.println(o.getClass().getName()+":保存方法");}@Overridepublic void del(Class<T> c, Serializable id) {System.out.println(c.getClass().getName()+",id="+id+","+":删除方法");}@Overridepublic List<T> findAll() {Class<T> clazz = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];System.out.println(clazz.getName()+":查询所有方法");return null;}@Overridepublic T getById(Serializable id) {Class<T> clazz = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];System.out.println(clazz.getName()+",id="+id+","+":根据主键ID查询方法");return null;}@Overridepublic void update(T o) {System.out.println(o.getClass().getName()+":修改方法");}}
BaseService
package com.maomao.service;import java.io.Serializable;import java.util.List;public interface BaseService<T> {void add(T o);void del(Serializable id);List<T> findAll();public T getById(Serializable id);public void update(T o);}
BaseServiceImpl
package com.maomao.service.impl;import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.util.List;import com.maomao.dao.BaseDao;import com.maomao.dao.impl.BaseDaoImpl;import com.maomao.service.BaseService;public class BaseServiceImpl<T> implements BaseService<T> {private BaseDao<T> baseDao = new BaseDaoImpl();@Overridepublic void add(T o) {baseDao.add(o);}@Overridepublic void del(Serializable id) {Class<T> clazz = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];baseDao.del(clazz, id);}@Overridepublic List<T> findAll() {baseDao.findAll();return null;}@Overridepublic T getById(Serializable id) {baseDao.getById(id);return null;}@Overridepublic void update(T o) {baseDao.update(o);}}
UserService
package com.maomao.service;import com.maomao.model.User;public interface UserService extends BaseService<User>{}
UserServiceImpl
package com.maomao.service.impl;import com.maomao.model.User;import com.maomao.service.UserService;public class UserServiceImpl extends BaseServiceImpl<User> implements UserService {}
StudentService
package com.maomao.service;import com.maomao.model.Student;public interface StudentService extends BaseService<Student>{}
StudentServiceImpl
package com.maomao.service.impl;import com.maomao.model.Student;import com.maomao.service.StudentService;public class StudentServiceImpl extends BaseServiceImpl<Student> implementsStudentService {}
TestDemo
package com.maomao.test;import org.junit.Test;import com.maomao.model.Student;import com.maomao.model.User;import com.maomao.service.StudentService;import com.maomao.service.UserService;import com.maomao.service.impl.StudentServiceImpl;import com.maomao.service.impl.UserServiceImpl;public class TestDemo {@Testpublic void test1(){UserService userService = new UserServiceImpl();User u = new User();userService.add(u);Student student = new Student();StudentService studentService = new StudentServiceImpl();studentService.add(student);}}
0 1
- JAVA 泛型BaseDao<T> BaseService <T>
- java SSH三大框架整合,实现了泛型baseAction,泛型baseService,泛型baseDao
- java SSH三大框架整合,实现了泛型baseAction,泛型baseService,泛型baseDao
- Class<T>在BaseDao<T>作用
- Class<T>在BaseDao<T>作用
- [Java][泛型]<? extends T>和<T>
- Java泛型<T> t类与方法
- 第六篇 项目疑问 ------- BaseService<T> where T : class, new() 含义
- JAVA 泛型 - Class<T>
- JAVA 泛型 - Class<T>
- JAVA 泛型 - Class<T>
- java 泛型 ?、T
- JAVA 泛型 - Class<T>
- JAVA 泛型 - Class<T>
- JAVA 泛型 - Class<T>
- Java-泛型 <T>
- JAVA 泛型 - Class<T>
- JAVA 泛型 - Class<T>
- FreeMarker语法知识
- web.xml中load-on-startup的作用
- measure_circuit_width_lines_gauss.hdev检测pcb线宽 相关例程学习
- POI-----POI操作Excel-2、表单
- 《汇编语言》第二版 王爽著 第四章 第一个程序 要点
- JAVA 泛型BaseDao<T> BaseService <T>
- Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)
- FreeBSD 10.1 搭建 lnmp 环境
- oracle创建表空间和用户
- enum类型
- SpringMvc下载excel文件
- C#里边的控件缩写大全
- js事件驱动
- HDU 1754 I Hate It 线段树 最大值 点更新