范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

带你实现简易的JDBC封装

  在我们常规的jdbc操作中,代码冗余问题非常严重,所以我们就想将jdbc六部曲的操作进行封装处理,这样可以我们的操作更方便、简捷。
  演示新增操作:假设我们有一个关于Car信息的数据表,表中有汽车id、汽车名称、汽车颜色、汽车价格,我们此时需要做一个新增操作,我们自己通过Scanner输入要存储的信息,将这些信息写入到数据库中,而问题来了,我们自己手动输入的信息要保存在哪里呢,数组?不行,存是好存但是不方便取用,存了是为了在将数据写入数据库时 取 用;集合?不行,依然不好取用,domain实体对象,这个可以,我们在存值时,通过有参构造方法将我们手动输入的值存到属性中,在做数据库写入时,由于属性是私有的,所以我们通过getXXX()方法取到属性值。
  1.0 版:引入依赖、加载驱动、创建连接、创建命令行对象、执行SQL、各种关闭。 缺点:每一次做CURD操作,都要重新写一遍六部曲操作,而每一次的六部曲操 作中,只有SQL语句不同,于是就有了2.0版
  2.0 版:将SQL语句作为参数传递给CURD操作方法,这样每一次新的操作只需要更改SQL语句即可,但是依然存在很大的问题,1.0版和2.0版都存在SQL注入问题,非常的不安全,所以就有了3.0版。
  3.0 版 :通过采用预处理方式解决SQL注入问题,通过传递参数数组为预处理中的" ?"赋值,操作如下,Parma数组中装有参数数据,通过pstst.setObject()方法为"?"赋值。for(int i = 0;ik1){           //判断"#{"和"}"的索引位置是否获得到了             String key = sql.substring(k1+2,k2);           //通过subString将#{key}中的key截取出来             builder.append(key);           //截取出来后,拼接到事先准备好的builder字符串中             builder.append(",");           //key1于key2之间用逗号隔开             if(k2 得到getxxx方法,从而通过getxxx方法得到对应的属性值 public Object[] getParmaValue(Object parma,String []keys){     Object[] parmaValue = new Object[keys.length];   //将通过getxxx()方法得到的属性值存入数组中     for(int i = 0;i< keys.length;i++){         //keys[0]---->cname         String methodName = "get"+keys[i].substring(0,1).toUpperCase()+keys[i].substring(1);        //get + C + name,通过循环,参考SQLInfo中 key 数组得到,属性对应的getxxx()方法         System.out.println(methodName);       //打印输出获取到getxxx名字         Class clazz = parma.getClass();       //得到Parma类的类映射         try {             Method method = clazz.getMethod(methodName);           //通过反射机制操作Parma中的方法,----->getxxx()方法             Object key = method.invoke(parma);           //执行getxxx()方法             parmaValue[i] = key;           //并将得到的属性值存到事先创建的数组中         } catch (Exception e) {             e.printStackTrace();         }     }     return parmaValue;   //返回含有属性值的数组 }
  通过SQL处理器,我们将getXXX()方法通过程序装入到了数组中,接下来我们就可以执行CURD操作了。public void inserttext(String sql, Car car){     //调用处理器中的SQL语句处理方法    SQLProcessor processor = new SQLProcessor();       //通过处理得到jdbc认识SQL语句和#{key}中的key值     SQLInfo info = processor.getSql(sql);         //通过找到的key值,得到相应的getxxx()方法,并存入数组中     Object[] method = processor.getParmaValue(car,info.getKeys());        //执行sqlSession类中的新增方法     sqlSession session = new sqlSession();    //将处理好的SQL语句和装好的数组交个jdbc,做新增操作     session.insert(info.getSql(),method); }

稳了!vivo新机曝光,天玑9000自研芯片,网友堆料最猛旗舰机稳了!vivo新机曝光,天玑9000自研芯片,网友堆料最猛的旗舰机本文原创,禁止搬运和抄袭,违者必究!导语大家对于所谓的品牌旗舰机的最大感受,或许就只剩下大同小异的各种堆料了。没错再上热搜!拼多多被砍一刀反噬,未来会如何?摘要2021全年数据会如何(欢迎关注杠杆游戏)撰文张银银拼多多砍价相关活动,应该是诸多消费者眼里非常心塞的活动之一,因为成功率太低了,规则透明度亦存疑,常常被怀疑虚假等。刚刚过去的注意!闲鱼APP上阿里拍卖的套路,切莫被骗取违约金在闲鱼APP上想购买一款二手手机,然后刷到了一款苹果12在进行拍卖。拍卖为普通拍卖,从图片直观的表现来看,手机的成色很新。于是交了100元的保证金参与竞拍。心想参与竞拍出出价,看能玩转闲鱼实战篇前期准备连更了两天,好多小伙伴肯定已经着急了,怎么还不更新一点儿干货呀,不要着急,心急吃不了热豆腐,以后都是干货,拿出笔拿出本,做好笔记哦。今天咱们说说,在开始闲鱼之前做的准备工作,首先要特斯拉Model概念机一出手就是王炸,给iPhone13好好上一课?来源骚客数码外界一直传闻苹果要造电动车,甚至连计划表都出来了,预计在2025年发布第一台苹果电动车。而造电动车的特斯拉一直也在传闻要造手机,作为硅谷目前最有创新的企业,伊隆马斯克或薇娅的台前与幕后提到电商主播薇娅你有什么印象?是直播间常说的那句54321!上链接!还是她总能推荐心水好物,让人忍不住买买买所有人看到的都是镁光灯下光鲜亮丽的薇娅,但很少有人了解过,她的背后是什么应该如何选择十倍股票电动车和光伏下的最优解电动车4万亿的特斯拉pk掉所有燃油车市值总和,带着蔚来理想小鹏等一众小弟突飞猛进,1。2万亿的宁德时代催生了无数千亿市值正负极隔膜电解液,几十倍涨幅的恩捷股份双11成交额崇拜可休矣贺俊双11决战已经鸣金收兵。各大电商平台品牌商家的战绩将陆续出炉,极有可能再创新高。不过,历经多年的第1分钟以X元打破纪录第1小时以X元打破纪录第N小时打破去年全天纪录等时间轴战报无线路由器Wifi信号弱怎么办无线Wifi已经成为人们生活必不可少的一个部分,很多的电子设备都可以使用wifi,比如手机,笔记本电脑,平板电脑等。所以现在越来越多人在家中会通过路由器架设自己的wifi,也常常有揭秘怎么从华为外包跳槽到华为?大家好,我是外包界的包大人。关注我,多点赞!分享职场经验,传播职场文化,带你了解更多IT软件行业知识!相信很多从事华为外包的小伙伴们,都怀揣着一颗成为华为正式员工的心。从外包到华为小米12mini下月发布,6。3寸小屏骁龙898,卖3000应该很有市场小米昨天官方暗示,将推出mini系列的小屏旗舰机型,小屏机型性能不减,将搭载高通旗舰机芯片骁龙898,这将是小米的另一种尝试,将和iPhonemini系列证明对抗争夺市场。随着现在
三星计划明年1月增加110寸电视产量大屏更受欢迎12月24日消息,据外媒报道,三星电子计划在明年1月份生产200台110英寸MicroLED电视,远高于此前每月的产量,此前每月只生产10台。据悉,110英寸是目前市面上尺寸最大的赵立坚斥美白宫新闻秘书涉英特尔言论呵呵,没见过这么倒打一耙的中新网北京12月24日电(记者邢翀)针对美国白宫新闻秘书普萨基有关英特尔公司的言论,中国外交部发言人赵立坚24日在例行记者会上驳斥称,没见过这么倒打一耙的,所谓新疆存在强迫劳动是彻英特尔反骨绝不是偶然,苹果才是去中国化最大的推手日前,英特尔端起碗吃饭,放下筷子骂娘一事让众多国人纷纷吐槽。一边在中国市场赚着钱,一边站队老美拿新疆说事,确实让人大失所望。但英特尔有如此底气,背后的力量也是值得让人深思的。尽管中快快快!中国移动提速降费工作怎一快字了得?太快了!简直太快了!用手机抢东西的网速让我切切实实体会到了秒杀的快感,在偏远地区旅游或出差,手机的信号都比以前好,上网网速也丝毫未减。自2015年国务院提出提速降费计划以来,三大运女性手机同质化时代结束两大厂商年底发新机抢跑出货数据榜封面新闻记者蔡世奇12月22日,vivo在深圳发布了旗下自拍旗舰手机S12系列,23日,华为也在深圳发布了折叠屏手机P50Pocket,这两个手机瞄准的主力用户群体,都是女性。智能跑美团专送已经半年了,12月底辞职了,给自己做一下年终总结2021年就要结束了,新的一年就要开始了,感谢美团外卖在这半年里,给了我生活的希望,在我最困难的时候,让我有饭吃,有住的地方,在这里要感谢一下美团站长的帮助,现将美团工作总结如下一基于蜜罐的欺骗式主动防御的发展与演进摘要本文从传统蜜罐出发,介绍了蜜罐技术的发展历程,讨论了现有蜜罐技术的特点及其存在的问题,进而引出由蜜罐演进而来的网络欺骗防御,通过对比分析其他防御技术,研究了其特点与优势。关键词支付宝等与银联实现互认互扫,支付行业互联互通进程加快近一段时间,支付行业互联互通进入加速期。近期,支付宝与中国银联在全国范围实现收款码扫码互认。此外,支付宝已经与28家银行机构实现线下扫码互认。这一进程快于市场预期。支付宝与中国银联华为P60实现突破!完全国产但芯片只有14nm,你会支持吗?我绝对支持!宁买华为14nm,不买其他7nm!只为华为有明天!支持华为P系列可是高端系列手机。突然变成了只能与其他品牌低端手机来比较的话,会非常损害华为品牌的名声,但如果在使用了国家用电器选购心得冷柜临近年关不管是线上还是线下商场里,冷柜作为制冷保鲜的一个家用电器都进入了一年之中最旺的季节。我从事了八年的家电销售,主要负责白电,对于这个季节就到了各个商家冷柜备货的时间了,仓库里想买iPhone13,别急,看看去年的iPhone12Pro今年iPhone13系列爆火,相信很多朋友都有换机的计划。不过,如果您是想入手基础版的iPhone13,那么别着急,不妨考虑下iPhone12Pro。1。价格iPhone13售价5