【技术实现步骤摘要】
一种基于Mybatis实现可配置的动态SQL的方法
[0001]本专利技术属于通用后端
,尤其是涉及一种基于Mybatis实现可配置的动态SQL的方法。
技术介绍
[0002]在业务系统开发的过程中,经常会遇到需要动态修改SQL的情况,并且不能重启应用程序。而Mybatis作为基于Java的持久层框架,支持手写SQL、调用存储过程等特性,在使用过程中,一般使用xml配置好需要拼接的动态SQL,或者通过注解的形式来配置动态SQL以及对应的映射信息,然后通过这些配置信息来执行SQL语句并返回相应的结果。但这些已经配置好的SQL语句无法在程序运行过程中进行修改,无法应对SQL动态调整的情况。同时由于管理系统项目中各个功能节点均有列表查询,分页查询等基础功能,将每个功能列表查询的SQL通过页面进行动态配置,将大幅提升后端人员的开发效率。
技术实现思路
[0003]有鉴于此,本专利技术旨在提出一种基于Mybatis实现可配置的动态SQL的方法,通过Mybatis的动态SQL功能,在程序启动时将预先配置好的SQL语 ...
【技术保护点】
【技术特征摘要】
1.一种基于Mybatis实现可配置的动态SQL的方法,其特征在于,包括以下步骤:S1、按照Mybatis的语法在界面配置好动态SQL,并校验相应的SQL语句是否符合Mybatis的规范,校验通过后存储于数据库表中;S2、根据步骤S1生成一个唯一的SelectId;S3、以步骤S2中的SelectId为key遍历MappedStatement列表;S4、设置新建的MappedStatement中SQL返回的参数类型为Map.class;S5、如果SQL发生变更,重新读取所有的MappedStatement对象,MappedStatement列表中存在相同的SelectId,则代表需要修改。2.根据权利要求1所述的一种基于Mybatis实现可配置的动态SQL的方法,其特征在于,在步骤S1中,通过步骤S1中提及的SQL的使用场景,SQL名称参数生成一个唯一的SelectId。3.根据权利要求1所述的一种基于Mybatis实现可配置的动态SQL的方法,其特征在于,在步骤S3中,在程序启动时通过Mybatis的SqlSessionFactory读取到Mybatis对应的配置,获取到所有的MappedStatement对象。4.根据权利要求1所述的一种基于Mybatis实现可配置的动态SQL的方法,其特...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。