CN108121542B - 一种基于MyBatis的SQL语句的配置方法、*** - Google Patents
一种基于MyBatis的SQL语句的配置方法、*** Download PDFInfo
- Publication number
- CN108121542B CN108121542B CN201711143542.4A CN201711143542A CN108121542B CN 108121542 B CN108121542 B CN 108121542B CN 201711143542 A CN201711143542 A CN 201711143542A CN 108121542 B CN108121542 B CN 108121542B
- Authority
- CN
- China
- Prior art keywords
- mybatis
- sql
- configuration file
- database
- framework
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于MyBatis的SQL语句的配置方法、***,包括MyBatis框架、核心配置文件、映射配置文件和数据库,包括MyBatis框架对数据库进行操作的过程:步骤A:在java项目中引入MyBatis框架依赖库和数据库的驱动;步骤B:对核心配置文件进行编写;步骤C:创建映射配置文件,映射配置文件把SQL语句作为参数传输进MyBatis框架中,MyBatis框架对SQL语句进行参数解析并对数据库执行操作;步骤D:根据不同类型的数据库,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。本发明解决在使用MyBatis的时候,配置SQL时需要进行多处繁琐配置的问题,实现缩短开发时间,增加开发灵活性和提高开发效率的效果。
Description
技术领域
本发明涉及MyBatis框架的SQL处理技术领域,尤其涉及一种基于MyBatis的SQL语句的配置方法、***。
背景技术
MyBatis是一个基于java的持久层框架,它支持定制化SQL、存储规程以及高级映射。MyBAtis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBAtis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的POJOs映射成数据库中的记录。
在使用MyBAtis的过程中,每次使用新的SQL语句的时候,都需要查看有无相应的映射文件以及数据表对应的实体类,如果没有则需要创建,并在相应的文件中,配置SQL和相关设置,配置的过程十分繁琐。
发明内容
本发明的目的在于提出一种基于MyBatis的SQL语句的配置方法、***,用MyBatis的SQL语句参数解析功能,解决在使用MyBatis的时候,配置SQL时需要进行多处繁琐配置的问题,实现缩短开发时间,增加开发灵活性和提高开发效率的效果。
为达此目的,本发明采用以下技术方案:
一种基于MyBatis的SQL语句的配置方法,包括MyBatis框架、核心配置文件、映射配置文件和数据库,包括了所述MyBatis框架对所述数据库进行操作的过程:
步骤A:在java项目中引入所述MyBatis框架依赖库和所述数据库的驱动;
步骤B:对所述核心配置文件进行编写;
步骤C:创建所述映射配置文件,所述映射配置文件把SQL语句作为参数传输进所述MyBatis框架中,所述MyBatis框架对SQL语句进行参数解析并对所述数据库执行操作;
步骤D:根据不同类型的所述数据库,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。
优选的,包括所述MyBatis框架对SQL语句的解析过程:
步骤C1:所述映射配置文件把SQL语句作为参数传输进所述MyBatis框架中;
步骤C2:所述MyBatis框架对传输进来的SQL语句进行判断,判断该SQL语句的类型;
步骤C3:若作为参数的SQL语句的类型为查询类,则返回一个列表,所述列表上的每一个元素均为一个map对象;若作为参数的SQL语句的类型为修改类,则直接返回影响的记录数。
优选的,所述核心配置文件为配置全局信息的XML文件,包括数据库的用户名、密码、链接和数据库所选用的驱动信息。
优选的,所述映射配置文件为配置ORM映射关系和SQL语句的XML文件。
一种基于MyBatis的SQL语句配置方法的***,包括MyBatis框架、核心配置文件、映射配置文件和数据库,包括所述MyBatis框架进行所述数据库操作模块,用于对所述数据库进行配置;
在java项目中引入所述MyBatis框架依赖库和所述数据库的驱动;
对所述核心配置文件进行编写;
创建所述映射配置文件,所述映射配置文件把SQL语句作为参数传输进所述MyBatis框架中,所述MyBatis框架对SQL语句进行参数解析并对所述数据库执行操作;
根据不同类型的所述数据库,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。
优选的,包括所述mybatis框架对SQL语句的解析模块,用于对SQL语句进行解析;
所述映射配置文件把SQL语句作为参数传输进所述MyBatis框架中;
所述MyBatis框架对传输进来的SQL语句进行判断,判断该SQL语句的类型;
若作为参数的SQL语句的类型为查询类,则返回一个列表,所述列表上的每一个元素均为一个map对象;若作为参数的SQL语句的类型为修改类,则直接返回影响的记录数。
相对于现有技术来说,减少了建立与数据库表结构相对应的类对象,来实现ORM映射的步骤,还有不同于现有技术的映射文件配置,配置映射文件一般一个表(或类对象)对应一个文件。在其中配置需要执行的SQL语句以及其他相关设置。在使用MyBatis的过程中,每次使用新的SQL语句的时候,需要查看有无相应映射文件及数据表对应的实体类,如果没有则需要创建。现在无需多处配置,可通过将SQL语句作为参数输入MyBatis框架中,利用MyBatis框架对参数的解析功能,进行自动选择配置,缩短了开发时间,提高了开发效率,而且免去了配置实体类的麻烦,在数据表结构调整时,无需再修改实体类,为项目的维护提供了灵活性。
附图说明
图1是本发明的MyBatis框架数据库进行操作的流程图;
图2是本发明的MyBatis框架对SQL语句的解析流程图。
其中:MyBatis框架1、核心配置文件2、映射配置文件3、数据库4。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
一种基于MyBatis的SQL语句的配置方法,包括MyBatis框架1、核心配置文件2、映射配置文件3和数据库4,包括了所述MyBatis框架1对所述数据库4进行操作的过程,如图1所示:
步骤A:在java项目中引入所述MyBatis框架1依赖库和所述数据库4的驱动;
步骤B:对所述核心配置文件2进行编写;
步骤C:创建所述映射配置文件3,所述映射配置文件3把SQL语句作为参数传输进所述MyBatis框架1中,所述MyBatis框架1对SQL语句进行参数解析并对所述数据库4执行操作;
步骤D:根据不同类型的所述数据库4,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。
优选的,如图2所示,包括所述MyBatis框架1对SQL语句的解析过程:
步骤C1:所述映射配置文件3把SQL语句作为参数传输进所述MyBatis框架1中;
步骤C2:所述MyBatis框架1对传输进来的SQL语句进行判断,判断该SQL语句的类型;
步骤C3:若作为参数的SQL语句的类型为查询类,则返回一个列表,所述列表上的每一个元素均为一个map对象;若作为参数的SQL语句的类型为修改类,则直接返回影响的记录数。
优选的,所述核心配置文件2为配置全局信息的XML文件,包括数据库的用户名、密码、链接和数据库所选用的驱动信息。
优选的,所述映射配置文件3为配置ORM映射关系和SQL语句的XML文件。
一种基于MyBatis的SQL语句配置方法的***,包括MyBatis框架1、核心配置文件2、映射配置文件3和数据库4,包括所述MyBatis框架1进行所述数据库4操作模块,用于对所述数据库4进行配置;
在java项目中引入所述MyBatis框架1依赖库和所述数据库4的驱动;
对所述核心配置文件2进行编写;
创建所述映射配置文件3,所述映射配置文件3把SQL语句作为参数传输进所述MyBatis框架1中,所述MyBatis框架1对SQL语句进行参数解析并对所述数据库4执行操作;
根据不同类型的所述数据库4,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。
优选的,包括所述mybatis框架1对SQL语句的解析模块,用于对SQL语句进行解析;
所述映射配置文件3把SQL语句作为参数传输进所述MyBatis框架1中;
所述MyBatis框架1对传输进来的SQL语句进行判断,判断该SQL语句的类型;
若作为参数的SQL语句的类型为查询类,则返回一个列表,所述列表上的每一个元素均为一个map对象;若作为参数的SQL语句的类型为修改类,则直接返回影响的记录数。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (2)
1.一种基于MyBatis的SQL语句的配置方法,所述方法由基于MyBatis的SQL语句的配置***执行,所述***包括MyBatis框架、核心配置文件、映射配置文件和数据库,其特征在于:所述核心配置文件为配置全局信息的XML文件,包括数据库的用户名、密码、链接和数据库所选用的驱动信息;
包括了所述MyBatis框架对所述数据库进行操作的过程:
步骤A:在java项目中引入MyBatis框架依赖库和所述数据库的驱动;
步骤B:对所述核心配置文件进行编写;
步骤C:创建所述映射配置文件,所述映射配置文件把SQL语句作为参数传输进所述MyBatis框架中,所述MyBatis框架对传输进来的SQL语句进行判断,判断该SQL语句的类型;
若作为参数的SQL语句的类型为查询类,则返回一个列表,所述列表上的每一个元素均为一个map对象;若作为参数的SQL语句的类型为修改类,则直接返回影响的记录数;
步骤D:根据不同类型的所述数据库,通过ID制定SQL语句,读取配置好的SQL语句并执行语句,最后获取结果。
2.根据权利要求1所述一种基于MyBatis的SQL语句的配置方法,其特征在于:
所述映射配置文件为配置ORM映射关系和SQL语句的XML文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711143542.4A CN108121542B (zh) | 2017-11-17 | 2017-11-17 | 一种基于MyBatis的SQL语句的配置方法、*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711143542.4A CN108121542B (zh) | 2017-11-17 | 2017-11-17 | 一种基于MyBatis的SQL语句的配置方法、*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121542A CN108121542A (zh) | 2018-06-05 |
CN108121542B true CN108121542B (zh) | 2021-07-06 |
Family
ID=62228476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711143542.4A Active CN108121542B (zh) | 2017-11-17 | 2017-11-17 | 一种基于MyBatis的SQL语句的配置方法、*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121542B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933571B (zh) * | 2019-01-23 | 2023-07-21 | 平安科技(深圳)有限公司 | 数据库设计文档生成方法、装置及计算机可读存储介质 |
CN110309365B (zh) * | 2019-04-09 | 2023-07-25 | 长飞光纤光缆股份有限公司 | 一种基于Mybatis实现的openstack数据查询方法与装置 |
CN110765152B (zh) * | 2019-09-18 | 2023-05-30 | 平安科技(深圳)有限公司 | Sql提取方法、装置、计算机设备和存储介质 |
CN110851346B (zh) * | 2019-09-24 | 2024-05-31 | 平安科技(深圳)有限公司 | 查询语句边界问题的检测方法、装置、设备及存储介质 |
CN110866029B (zh) * | 2019-10-11 | 2022-08-09 | 支付宝(杭州)信息技术有限公司 | sql语句构建方法、装置、服务器及可读存储介质 |
CN111158646A (zh) * | 2019-12-17 | 2020-05-15 | 广西交通设计集团有限公司 | 一种sql轻量化持久层框架及配置方法 |
CN111241064B (zh) * | 2020-01-10 | 2023-11-03 | 深圳震有科技股份有限公司 | 一种数据库配置文件的处理方法、装置及存储介质 |
CN111949491B (zh) * | 2020-08-14 | 2023-10-27 | 中国工商银行股份有限公司 | MyBatis应用程序的SQL提取方法及装置 |
CN113392122B (zh) * | 2021-06-09 | 2022-03-11 | 北京同创永益科技发展有限公司 | 一种基于Mybatis框架分离及运行HQL的方法 |
CN113342399B (zh) * | 2021-06-29 | 2024-07-02 | 中国农业银行股份有限公司 | 应用项目的结构配置方法、装置及可读存储介质 |
CN114756554B (zh) * | 2022-06-13 | 2022-09-30 | 中建电子商务有限责任公司 | 一种基于MyBatis框架的数据查询处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020847A (zh) * | 2016-06-06 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 一种持久层开发框架配置sql的方法和装置 |
CN106294075A (zh) * | 2016-08-17 | 2017-01-04 | 浪潮软件股份有限公司 | 一种对sql进行监控的方法、装置及*** |
CN106844678A (zh) * | 2017-01-24 | 2017-06-13 | 山东浪潮商用***有限公司 | 一种Mybatis数据源与连接池的交互方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103644B2 (en) * | 2005-01-12 | 2012-01-24 | Microsoft Corporation | Data access layer class generator |
-
2017
- 2017-11-17 CN CN201711143542.4A patent/CN108121542B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020847A (zh) * | 2016-06-06 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 一种持久层开发框架配置sql的方法和装置 |
CN106294075A (zh) * | 2016-08-17 | 2017-01-04 | 浪潮软件股份有限公司 | 一种对sql进行监控的方法、装置及*** |
CN106844678A (zh) * | 2017-01-24 | 2017-06-13 | 山东浪潮商用***有限公司 | 一种Mybatis数据源与连接池的交互方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108121542A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121542B (zh) | 一种基于MyBatis的SQL语句的配置方法、*** | |
US8392880B2 (en) | Rapid application development for database-aware applications | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
US20040158820A1 (en) | System for generating an application framework and components | |
CN106598612B (zh) | 一种数据库中数据表的操作方法及*** | |
CN102117202B (zh) | 基于j2ee架构的代码生成装置 | |
US20060048107A1 (en) | Enhanced compiled representation of transformation formats | |
US10614126B2 (en) | Textual query editor for graph databases that performs semantic analysis using extracted information | |
US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
CN111078702B (zh) | 一种sql语句分类管理及统一查询方法和装置 | |
CN108073688B (zh) | 一种数据迁移的方法及装置 | |
US20150026223A1 (en) | System and method for modelling data | |
CN108509199A (zh) | 自动生成中文注释的方法、装置、设备及存储介质 | |
CN108762743A (zh) | 一种数据表操作代码生成方法及装置 | |
CN103559025A (zh) | 一种采用聚类方式进行软件重构的方法 | |
CN111061739A (zh) | 海量医疗数据的入库方法及装置、电子设备、存储介质 | |
CN103095726A (zh) | 一种协议解析器的处理方法和装置 | |
CN102253975A (zh) | 一种数据库自动转换***及方法 | |
CN112162751A (zh) | 一种接口文档自动生成方法及*** | |
CN109656943A (zh) | 屏蔽异构数据库查询复杂度的数据服务方法 | |
CN106599167A (zh) | 一种支持增量升级数据库的***和方法 | |
CN104503767A (zh) | 基于lin协议的代码自动生成***及方法 | |
CN114238527A (zh) | 基于对象关系映射的数据处理方法和数据处理装置 | |
CN110334001A (zh) | 一种批量自动生成回声测试的方法和装置 | |
CN103593182A (zh) | 一种采用聚类方式进行软件重构的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |