泛型类的应用
此DEMO实现了, 通用增删改查. 咱们只要创建了实体,那么对于该实体的增删改查方法都存在.不需要再去手动编写.
项目结构如下:
这里重点关注圈粉的地方.BaseModel,BaseRepository,BaseService.
BaseRepository可能有些人看起来会有些陌生, 这里我用的是spring jpa 实现的域数据库的映射,其实和mybatis的mapper类似.其他不多解释.咱们学java的,一眼就能看明白.为什么会有这三个父类的存在.
OK,看代码.
BaseModel ,里边的属性都是咱们实体类的公共属性. 比如:id,创建人, 创建时间, 修改人,修改时间等. 就是所有的表都需要的字段.注意我的项目里边所有ID都是Long类型.
咱们自己的Repository继承BaseRepository,泛型里边加上咱们自己的model类User,以及ID的类型. 这样UserRepository里就存在所有的增删改查方法. 如果有自身的方法.就可以写.比如截图的findListByName等等.这些是自身方法, 增删改查就是父类的.
咱们的BaseService,注意看泛型D extends BaseRepository. 这样咱们的service就能调用到repository的增删改查方法.
以后还有其他service都可以向UserService这样继承一下. 不需要写其他任何东西. 就已经存在增删改查方法.或者其他通用方法.