日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種SQL語句動(dòng)態(tài)執(zhí)行方法及裝置與流程

文檔序號(hào):39713884發(fā)布日期:2024-10-22 12:59閱讀:2來源:國知局
一種SQL語句動(dòng)態(tài)執(zhí)行方法及裝置與流程

本申請(qǐng)涉及sql數(shù)據(jù)庫,尤其是涉及一種sql語句動(dòng)態(tài)執(zhí)行方法及裝置。


背景技術(shù):

1、現(xiàn)有解析并執(zhí)行mybatis的xmlsql語句有兩種方式:第一種方式是編寫mapper接口,編寫對(duì)應(yīng)的mapperxml文件,在service層通過注入的方式,調(diào)用并執(zhí)行mapper借口的xmlsql來操作數(shù)據(jù)庫。第二種方式是直接執(zhí)行sql語句。

2、現(xiàn)有技術(shù)方案的策略是在執(zhí)行的時(shí)候必須要預(yù)先編譯然后啟動(dòng)服務(wù)。編譯完成后,代碼不可修改,即只能執(zhí)行程序員預(yù)先編寫完成的xmlsql,無法實(shí)現(xiàn)動(dòng)態(tài)解析執(zhí)行,無法實(shí)現(xiàn)用戶實(shí)時(shí)增加新的sql操作,缺乏靈活性。


技術(shù)實(shí)現(xiàn)思路

1、有鑒于此,本申請(qǐng)?zhí)峁┝艘环Nsql語句動(dòng)態(tài)執(zhí)行方法及裝置,該方法能夠?qū)崿F(xiàn)實(shí)時(shí)編寫sql操作語句,然后按照mybatis的執(zhí)行流程執(zhí)行sql操作語句,方便靈活且易于操作。

2、第一方面,本申請(qǐng)實(shí)施例提供一種sql語句動(dòng)態(tài)執(zhí)行方法,包括:

3、獲取待執(zhí)行的sql操作語句;

4、創(chuàng)建mapper接口并生成mapper接口的接口方法,將所述sql操作語句寫入到所述接口方法中,得到所述sql操作語句的類名、方法名和字節(jié)碼;

5、利用預(yù)先定義的加載器將所述sql操作語句的類名、方法名和字節(jié)碼加載到內(nèi)存中;

6、基于所述sql操作語句的類名、方法名和字節(jié)碼,利用預(yù)先構(gòu)建的sqlsessionfactory對(duì)象創(chuàng)建一個(gè)sqlsession對(duì)象;

7、利用所述sqlsession對(duì)象運(yùn)行所述接口方法,以執(zhí)行所述sql操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作。

8、在一種的可能實(shí)現(xiàn)中,創(chuàng)建mapper接口并生成mapper接口的接口方法,將所述sql操作語句寫入到所述接口方法中,得到所述sql操作語句的類名、方法名和字節(jié)碼,包括:

9、利用classwriter方法創(chuàng)建mapper接口,通過版本控制工具定義所述mapper接口的類名;

10、利用methodwriter方法動(dòng)態(tài)生成所述mapper接口的接口方法,通過版本控制工具定義所述接口方法的方法名;

11、將所述sql操作語句以注解的方式寫入到所述mapper接口的接口方法中,得到對(duì)應(yīng)的字節(jié)碼。

12、在一種的可能實(shí)現(xiàn)中,所述方法還包括:

13、定義一個(gè)加載器classloader;

14、對(duì)加載器classloader的defineclass方法進(jìn)行重新編寫,其中,所述defineclass方法將所述字節(jié)碼轉(zhuǎn)化為class對(duì)象。

15、在一種的可能實(shí)現(xiàn)中,所述方法還包括:

16、基于所述sql操作語句生成xml格式的配置文件;

17、基于所述配置文件,創(chuàng)建單實(shí)例的sqlsessionfactory對(duì)象。

18、在一種的可能實(shí)現(xiàn)中,基于所述sql操作語句的類名、方法名和字節(jié)碼,利用預(yù)先構(gòu)建的sqlsessionfactory對(duì)象創(chuàng)建一個(gè)sqlsession對(duì)象,包括:

19、調(diào)用sqlsessionfactory對(duì)象的opensession方法;

20、利用opensession方法對(duì)所述sql操作語句的類名、方法名和字節(jié)碼進(jìn)行操作,創(chuàng)建一個(gè)sqlsession對(duì)象。

21、在一種的可能實(shí)現(xiàn)中,利用所述sqlsession對(duì)象運(yùn)行所述接口方法,以進(jìn)行所述sql操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作,包括:

22、調(diào)用所述sqlsession對(duì)象的getmapper方法獲取所述mapper接口;

23、調(diào)用所述mapper接口的接口方法以進(jìn)行所述sql操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括:插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)和查詢數(shù)據(jù)的至少一個(gè)。

24、在一種的可能實(shí)現(xiàn)中,所述方法還包括:

25、釋放所述sqlsessionfactory對(duì)象所占用的資源。

26、第二方面,本申請(qǐng)實(shí)施例提供一種sql語句動(dòng)態(tài)執(zhí)行裝置,包括:

27、獲取單元,用于獲取待執(zhí)行的sql操作語句;

28、第一處理單元,用于創(chuàng)建mapper接口并生成mapper接口的接口方法,將所述sql操作語句寫入到所述接口方法中,得到所述sql操作語句的類名、方法名和字節(jié)碼;

29、加載單元,用于利用預(yù)先定義的加載器將所述sql操作語句的類名、方法名和字節(jié)碼加載到內(nèi)存中;

30、第二處理單元,用于基于所述sql操作語句的類名、方法名和字節(jié)碼,利用預(yù)先構(gòu)建的sqlsessionfactory對(duì)象創(chuàng)建一個(gè)sqlsession對(duì)象;

31、操作單元,用于利用所述sqlsession對(duì)象運(yùn)行所述接口方法,以執(zhí)行所述sql操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作。

32、第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,包括:存儲(chǔ)器、處理器和存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的方法。

33、第四方面,本申請(qǐng)實(shí)施例一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器運(yùn)行時(shí)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的方法。

34、本申請(qǐng)的方法能夠?qū)崿F(xiàn)實(shí)時(shí)執(zhí)行新編寫的sql操作語句,方便靈活且易于操作。



技術(shù)特征:

1.一種sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,創(chuàng)建mapper接口并生成mapper接口的接口方法,將所述sql操作語句寫入到所述接口方法中,得到所述sql操作語句的類名、方法名和字節(jié)碼,包括:

3.根據(jù)權(quán)利要求1所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,所述方法還包括:

4.根據(jù)權(quán)利要求1所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,所述方法還包括:

5.根據(jù)權(quán)利要求4所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,基于所述sql操作語句的類名、方法名和字節(jié)碼,利用預(yù)先構(gòu)建的sqlsessionfactory對(duì)象創(chuàng)建一個(gè)sqlsession對(duì)象,包括:

6.根據(jù)權(quán)利要求1所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,利用所述sqlsession對(duì)象運(yùn)行所述接口方法,以進(jìn)行所述sql操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作,包括:

7.根據(jù)權(quán)利要求1所述的sql語句動(dòng)態(tài)執(zhí)行方法,其特征在于,所述方法還包括:

8.一種sql語句動(dòng)態(tài)執(zhí)行裝置,其特征在于,包括:

9.一種電子設(shè)備,其特征在于,包括:存儲(chǔ)器、處理器和存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。

10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。


技術(shù)總結(jié)
本申請(qǐng)?zhí)峁┮环NSQL語句動(dòng)態(tài)執(zhí)行方法及裝置,其中的方法包括:獲取待執(zhí)行的SQL操作語句;創(chuàng)建mapper接口并生成mapper接口的接口方法,將所述SQL操作語句寫入到所述接口方法中,得到所述SQL操作語句的類名、方法名和字節(jié)碼;利用預(yù)先定義的加載器將所述SQL操作語句的類名、方法名和字節(jié)碼加載到內(nèi)存中;基于所述SQL操作語句的類名、方法名和字節(jié)碼,利用預(yù)先構(gòu)建的SqlSessionFactory對(duì)象創(chuàng)建SqlSession對(duì)象;利用所述SqlSession對(duì)象運(yùn)行所述接口方法,以執(zhí)行所述SQL操作語句對(duì)應(yīng)的數(shù)據(jù)庫操作。本申請(qǐng)的方法能夠?qū)崿F(xiàn)實(shí)時(shí)執(zhí)行新編寫的SQL操作語句,方便靈活且易于操作。

技術(shù)研發(fā)人員:楊牧原,趙欣,肖淞,譚揚(yáng)帆
受保護(hù)的技術(shù)使用者:中移物聯(lián)網(wǎng)有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/10/21
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1