# durcframework-core **Repository Path**: gavinmeng/durcframework-core ## Basic Information - **Project Name**: durcframework-core - **Description**: 一个基于SpringMVC + Mybatis的框架。其设计目的在于提高开发效率,避免做重复的工作。尤其是在做管理后台时,能减少许多代码量。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 43 - **Created**: 2016-03-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 欢迎使用durcframework-core =================== QQ群:328180219欢迎加群探讨 :) 项目介绍 ------------------- > - durcframework-core是一个基于SpringMVC + Mybatis的框架。其设计目的在于提高开发效率,避免做重复的工作。尤其是在做管理后台时,能减少许多代码量。 > - 如果您熟悉SpringMvc,那么上手会非常快,在使用过程中您会发现,其实这还是SpringMvc.是的,durcframework-core不过是对SpringMvc做了一点封装而已. > - 如果您比较"懒惰",喜欢用少量的代码完成更多的事情,如果您崇尚write less,do more.或许,这个框架适合您. > **使用本框架可以完成的事:** > - 少量代码完成对一张表的增删改查; > - 动态生成查询条件; > - 数据校验,支持JSR-303; > - 支持QBC查询; > - 封装了分页信息,支持不规则翻页; > - 数据导出,数据校验; > - 返回指定格式的JSON数据; > - 支持easyui,extjs的参数接收; > - 异常处理; > - 使用代码进行多表关联查询 > - ... 当然本框架不能完成的事情还有很多,更多的功能需要您自己去实现.本框架不能帮您实现所有功能,如果您在使用的过程中能获得一些感悟和启发,这应该就是本框架的价值所在吧. 框架对应[demo](https://git.oschina.net/durcframework/emptyProject) ,demo中包含了丰富的例子,例子在controller/demo包下.另外,此demo也可以作为一个新项目使用,新建一个项目时直接拿来用即可 ---------- 简单例子 ---------- Controller完成对学生表的增删改查 controller类 ``` // 继承CrudController,表示该Controller具有增删改查功能 // 增删改查功能不用自己实现,全部都封装好了,我们关注业务代码即可. @Controller public class StudentCrudController extends CrudController { @RequestMapping("/addStudent.do") public ModelAndView addStudent(Student student) { return this.add(student); } @RequestMapping("/listStudent.do") public ModelAndView listStudent(SearchStudentEntity searchStudentEntity) { return this.list(searchStudentEntity); } @RequestMapping("/updateStudent.do") public ModelAndView updateStudent(Student student) { return this.modify(student); } // 传一个id值即可,根据主键删除 @RequestMapping("/delStudent.do") public ModelAndView delStudent(Student student) { return this.remove(student); } } ``` Service类 ``` // 只需简单继承无需其它代码 @Service public class StudentService extends CrudService {} ``` Dao层 ``` // 只需简单继承无需其它代码 public interface StudentDao extends BaseDao {} ``` 这样,一个完整的功能就写好了.如果配合代码生成器那是分分钟的事情. ---------- QBC查询 ---------- ``` // 查询姓名为Jim,并且id是20和25的学生 // 查询结果以name字段升序 // SELECT * FROM student t WHERE name = 'Jim' AND id IN ( 20,25 ) ORDER BY // name ASC QBC qbc = QBC.create(studentDao); List list = qbc .eq("name", "Jim") .in("id", Arrays.asList(20, 25)) .sort("name") .listAll(); //----------------------------------------- // 查询姓名为Jim,并且id是20和25的学生,并且部门ID为16 // 查询结果以name字段升序 // SELECT * FROM student t INNER JOIN department t2 ON // t.DEPARTMENT=t2.ID WHERE name = 'Jim' AND t2.ID = 16 AND t.id IN ( 20,25 ) // ORDER BY name ASC QBC qbc = QBC.create(studentDao); List list = qbc.innerJoin("department", "t2", "DEPARTMENT", "ID") .eq("name", "Jim") .in("t.id", Arrays.asList(20, 25)) .eq("t2.ID", 16) .sort("name") .listAll(); ```