# spring-mybatis-support **Repository Path**: codenewbie/spring-mybatis-support ## Basic Information - **Project Name**: spring-mybatis-support - **Description**: 一个mybatis简单封装实现。包括:官方MyBatis Generator自动生成代码增强、通用查询封装、缓存集成 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 29 - **Created**: 2015-08-17 - **Last Updated**: 2020-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #使用说明 默认实现方法,详见(IGenericEntityDao): ##关于代码生成 原计划修改MyBatis Generator的,时间仓促没能完成。 目前生成代码的步骤: * 首先用MyBatis Generator生成原始的mapper.xml,dao,entity * 修改dao接口,继承IGenericEntityDao即可 * 使用MybatisMapperFormater工具(直接main方法允许的哦),批量转换mapper.xml即可。 ##其他用法,请看demo.zip ## public class UserService { @Inject private UserEntityMapper mappder; /** * 基本操作 */ public void baseTest(){ //已经默认实现了常用的方法,详见:IGenericEntityDao UserEntity entity = mappder.getById(1); System.out.println(entity); mappder.getListByIds(Arrays.asList("1","2")); mappder.insert(entity); mappder.deleteById(1); mappder.deleteByIds(Arrays.asList("1","2")); //查询所有status = 1的用户 mappder.findLists(new EntityQuery().addParam("status", 1)); //更新指定字段 mappder.update(new EntityQuery(1).addParam("username", "zhang3").addParam("lastLoginIp", "127.0.0.1").getParams()); //按实体更新,仅更新字段username,mobile mappder.update(new EntityQuery(1).addParams(entity, true, "username,mobile").getParams()); //按实体更新,更新除了regIp,regTime以外的字段 mappder.update(new EntityQuery(1).addParams(entity, false, "regIp,regTime").getParams()); //自定义主键(默认主键为id,可以通过构造方法指定值) mappder.update(new EntityQuery().addParam("id", 1).addParams(entity, false, "regIp,regTime").getParams()); } /** * 分页查询 * @param page * @param queryParams * @return */ public PageObject pageTest(PageRequest page,Map queryParams){ //查询逻辑需写在对应的mapper.xml的“query_where”块内 EntityQuery params = PageHelper.generateQueryParamsMap(page, queryParams, UserEntity.class); // 这里可以对查询条件进行处理 return PageHelper.pageQuery(UserEntityMapper.class, UserDto.class, params); } /** * 数据库原生参数查询 */ public void nativeQueryTest(){ //NativeQuery对应的都是数据库表的column名 NativeQuery query = new NativeQuery().where("reg_time