# CRUD **Repository Path**: chenlipeng8/crud ## Basic Information - **Project Name**: CRUD - **Description**: 通用CRUD - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通用CRUD ### 1.通用CRUD介绍 ​ 实现在业务service处,注入CommonService,即可在当前业务service针对任意一张表进行CRUD,不需要针对该表新建dao,xml,service,iml等类。只需要该表对应的实体。 ```java @Autowired private CommonCurdService commonCurdService; // 实体类 A a= new A(); // 通用查询 List list = commonCurdService.queryAnyTableByConditionPage(a, 0, 0); // 根据对象不为空的属性插入,并且返回自增的id int id = commonCurdService.insertOne(a); // 批量插入属性不为空的值 entitys 必须是数据库表对应的实体类 commonCurdService.insertList(List entitys); // 根据实体属性不为null做为查询条件删除数据 commonCurdService.deleteByEntity(Object entity); // 根据实体id的值做为查询条件更新数据 commonCurdService.updateById(Object entity); // 根据实体属性不为null做为查询条件更新数据 // 需要更新的对象:必须是数据库表对应的实体类 // 查询条件对象:必须是数据库表对应的实体类 commonCurdService.updateByEntity(Object entity, Object conditionEntity); ``` ### 2.项目地址 druid地址: http://localhost:8080/druid/login.html 账号:admin 密码:123456 swagger地址:http://localhost:8080/swagger-ui.html#/ ### 3.示例 一对多通用查询实例:一个教师对应多个学生 ```sql CREATE TABLE `teacher` ( `teacher_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '教师表主键', `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '姓名', `sex` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '性别', `e_mail` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '邮件', `address` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '地址', PRIMARY KEY (`teacher_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; CREATE TABLE `student` ( `student_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生表主键', `teacher_id` int(11) DEFAULT NULL COMMENT '老师表主键', `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '姓名', `sex` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '性别', `e_mail` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '邮件', `address` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '地址', PRIMARY KEY (`student_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; ```