您现在的位置是:首页 > 文章详情

C语言操作mysql预处理的封装

日期:2023-12-02点击:78

mysql预处理的优点在于

1.安全性高.预处理变量用占位符?表示,与sql语句是分别传递给服务器,安全性相对比较高.

2.占用流量低.在sql语句已经发送的情况下,只要发送绑定变量的不同值即可.

然而mysql预处理也有一个很大的缺点,就是大量变量绑定的代码,可读性极差,冗余重复代码很多.

我们思考预处理如何做到扬长避短,将冗余代码不放在mysql预处理封装的代码中,而是放在结构体初始化的文件中.这样在结构体初始化的繁琐要好过预处理时的繁琐.

然而结构体的成员变量如何与预处理的bind关联呢?

答案无非是数组.输入数组关联预处理的绑定参数,输出数组关联预处理的绑定结果.

数组的数据来源是结构体,结构体如何将成员变量交接给数组呢?

于是我们冥思苦想发现这个预处理的封装是系统性的工程.需要借助第三方的一些代码完成任务.比如想要把结构体成员对象存取,最好的办法不外乎是hashmap,对输出结果的返回最通用的结构体不外乎是json.因此需要引入hashmap和json.

这样还需要设计一个场景,存取结构体成员,于是我们想到了数据表的crud通用操作.接下来就是设计各个crud的函数用hashmap存取结构体变量.大致流程如此.

代码参考gtee开源仓库https://gitee.com/solider12/lazy-cats-code-warehouse/tree/master

原文链接:https://my.oschina.net/u/6989075/blog/10315874
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章