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

JDBC连接(javadatabaseconnectivity)

  JDBC连接(java database connectivity)jdbc使用的步骤
  1.通过反射机制加载驱动类-->>相当于是一个jdbc管理的工具类 2.找到我们的数据库连接池的url 3.使用Driver Manager(驱动管理器)获得到数据库连接 4.通过connect创建一个状态通道 5.就可以使用sql语句向状态通道中传入我们想要实现的sql语句 6.最后,注意一定要关闭所有的连接
  通过使用数据库驱动-->>使用java来对数据库进行增删改的操作
  注意jar包的添加 具体实现
  示例: package com;  import java.sql.*;  /**  * @Author: fyw  * @Description:1.通过反射机制加载驱动类-->>相当于是一个jdbc管理的工具类                 2.找到我们的数据库连接池的url                 3.使用Driver Manager(驱动管理器)获得到数据库连接                 4.通过connect创建一个状态通道                 5.就可以使用sql语句向状态通道中传入我们想要实现的sql语句                 6.最后,注意一定要关闭所有的连接  * @Date Created in 2021-08-28 19:12  * @Modified By:  */ public class Demo01 {     public static void main(String[] args) {         Statement statement = null;         ResultSet resultSet = null;         Connection connection = null;         //1.    加载驱动类         try {             Class.forName("com.mysql.cj.jdbc.Driver");             //2.    获得连接             String url = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC";             String userName = "root";             String passWord = "123456";             connection = DriverManager.getConnection(url, userName, passWord);             //3.    定义sql语句,创建状态通道,进行sql语句的发送             statement = connection.createStatement();             resultSet = statement.executeQuery("select *from yhp2.emp1");             while (resultSet.next()){//判断是否有下一条数据                 System.out.println("姓名:"+resultSet.getString("ename")+"工资:"+resultSet.getDouble("sal"));             }         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException throwables) {             throwables.printStackTrace();         }finally {             try {                 if (resultSet != null) {                     resultSet.close();                 }                 //5.    关闭资源                 if (statement != null) {                     statement.close();                  }                 if (connection != null) {                     connection.close();                 }             } catch (SQLException throwables) {                 throwables.printStackTrace();             }          }      } }
  通过状态通道传入sql语句的时候有几种不同的函数用法,注意返回值,
  如果是查询executeQuery()-->>resultSet-->>结果集映射
  如果是更新操作(包括update,delete,insert)-->>返回的都是int性的影响行数 package com;  import java.sql.*;  /**  * @Author: fyw  * @Description:  * @Date Created in 2021-08-28 19:12  * @Modified By:  */ public class Demo01 {     public static void main(String[] args) {         Statement statement = null;         ResultSet resultSet = null;         Connection connection = null;         //1.    加载驱动类         try {             Class.forName("com.mysql.cj.jdbc.Driver");              String url = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC";             String userName = "root";             String passWord = "123456";             //2.    获得连接             connection = DriverManager.getConnection(url, userName, passWord);             //3.    定义sql语句,创建状态通道,进行sql语句的发送             statement = connection.createStatement();             resultSet = statement.executeQuery("select *from yhp2.emp1");             while (resultSet.next()){//判断是否有下一条数据                 System.out.println("姓名:"+resultSet.getString("ename")+"工资:"+resultSet.getDouble("sal"));             }         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException throwables) {             throwables.printStackTrace();         }finally {             try {                 if (resultSet != null) {                     resultSet.close();                 }                 //5.    关闭资源                 if (statement != null) {                     statement.close();                  }                 if (connection != null) {                     connection.close();                 }             } catch (SQLException throwables) {                 throwables.printStackTrace();             }          }      } } sql注入package com;  import java.sql.*;  /**  * @Author: fyw  * @Description:  * @Date Created in 2021-08-28 19:12  * @Modified By:  */ public class Demo04 {     public static void main(String[] args) {         Statement statement = null;         ResultSet resultSet = null;         Connection connection = null;         //1.    加载驱动类         try {             Class.forName("com.mysql.cj.jdbc.Driver");              String url = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC";             String userName = "root";             String passWord = "123456";             //2.    获得连接             connection = DriverManager.getConnection(url, userName, passWord);             //3.    定义sql语句,创建状态通道,进行sql语句的发送             statement = connection.createStatement();//通过连接通道返回一个状态通道,可以通过状态通道进行传入sql语句 //            int result = statement.executeUpdate("insert into yhp2.emp1(empno,ename,hiredate,sal) values(100005,"fyw","2001-04-29",20000)");             String username1 = "sdfsdf";             String pwd1 = " "" or 1=1 ";             resultSet = statement.executeQuery("select *from `5-3kkb作业`.login where username=""+username1+"" and pwd="+pwd1);             if(resultSet.next()){                 System.out.println("登录成功");             }else{                 System.out.println("登录失败");             }         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException throwables) {             throwables.printStackTrace();         }finally {             try {                 if (resultSet != null) {                     resultSet.close();                 }                 //5.    关闭资源                 if (statement != null) {                     statement.close();                  }                 if (connection != null) {                     connection.close();                 }             } catch (SQLException throwables) {                 throwables.printStackTrace();             }          }      } } sql注入解决方案
  预状态通道
  preparedstatement
  1.通过connect连接-->>preparstatement生成我们的预状态通道
  2.直接将要执行的sql语句传入-->>关键部分用?代替
  3.通过preparstatement.set类型,来传入我们的关键参数 注意:下标是从1开始
  4.直接通过预状态通道执行sql package com;  import java.sql.*;  /**  * @Author: fyw  * @Description:  * @Date Created in 2021-08-28 19:12  * @Modified By:  */ public class Demo05 {     public static void main(String[] args) {         Statement statement = null;         ResultSet resultSet = null;         Connection connection = null;         //1.    加载驱动类         try {             Class.forName("com.mysql.cj.jdbc.Driver");              String url = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC";             String userName = "root";             String passWord = "123456";             //2.    获得连接             connection = DriverManager.getConnection(url, userName, passWord);             //3.    防止sql注入,先连接一个预状态通道             PreparedStatement preparedStatement = connection.prepareStatement("select * from `5-3kkb作业`.login where pwd=? and username=?");             //4.    通过对占位符的赋值,进行sql;             String username1 = "sdfsdf";             String pwd1 = " "" or 1=1 ";             preparedStatement.setString(1,username1);             preparedStatement.setString(2,pwd1);             //5.    执行sql             ResultSet resultSet1 = preparedStatement.executeQuery();             if(resultSet1.next()){                 System.out.println("登录成功");             }else{                 System.out.println("登录失败");             }         } catch (ClassNotFoundException e) {             e.printStackTrace();         } catch (SQLException throwables) {             throwables.printStackTrace();         }finally {             try {                 if (resultSet != null) {                     resultSet.close();                 }                 //5.    关闭资源                 if (statement != null) {                     statement.close();                  }                 if (connection != null) {                     connection.close();                 }             } catch (SQLException throwables) {                 throwables.printStackTrace();             }          }      } }

向王者之路的进击,长安欧尚X7与吉利博越产品力比较自从SUV成为自主品牌的拳头产品后,各自主品牌纷纷在这个领域投入重兵,涌现出大量新产品,这其中尤以紧凑型SUV这一细分领域的竞争最为激烈。而作为自主品牌中优秀的代表,长安和吉利也在用表情来操作手机?Android12将增加一项有趣的无障碍功能看到这个标题,大家可能会很好奇,竟然可以用表情操作手机?这确定不是在开玩笑嘛?答案是否定的。不过,用表情来操作手机也不是给一般用户使用的,而是给特定人群使用的,这些功能可以帮助他们iPhone13mini交付时间缩短,最快10天可到手iPhone13系列在9月17日正式发售,如往年一样,销售热度依然高居不下。(颜色远峰蓝)因为当天人数太多,官网崩溃,导致很多人延误了下单时间,可能这短短的1小时,就要多等一个月。釜山行2半岛火爆来袭,上映时间已经定档了,你会去看吗相信很多人都看过釜山行这部电影吧,釜山行是由延相昊执导,孔刘郑裕美金秀安金义城马东锡崔宇植等主演的灾难片,影片于2016年7月20日在韩国上映。影片讲述单亲爸爸石宇与女儿秀安乘坐K应采儿晒Jasper作业本,6岁儿子用浪费造句,结果评论区沦陷5月2日,知名女星应采儿在个人社交网站上晒出了儿子Jasper的一组照片,并调侃儿子的造句功底真是厉害,话语中幽默感满满,也引来了不少网友和粉丝的围观。照片中的Jasper穿着一件红米note11pro发布,神仙秒充,明星助阵10月28日,redmi举办note11系列新品发布会,正式带来了三款新品Note115GNote11ProNote11Pro还有明星助阵的Note11潮流限定版YIBODESIG上海为何需要大力发展市郊铁路(四)建设形式与路线的畅想想必通过阅读本系列以上几篇文章(上海为何需要大力发展市郊铁路(一)落后于发展的地铁规划上海为何需要大力发展近郊铁路(二)兼顾速度与覆盖率的两难上海为何需要大力发展市郊铁路(三)助力一个月工资只有6千,玩抖音刷视频月入5W的人,他们在做什么?因爲之前每月工资就像大姨妈每个月来一次然而分分钟就没有了现在社會不仅上要照顾老人下还得爲養兒育女而奔波还得房贷,车贷,各種人情往来辛苦地赚钱,不是因爲多爱钱!而是这辈子,不想因爲钱看完这些狠角色新机,我对iPhone13失去了兴趣时间来到2021年夏秋之交,仍活跃于市场上的手机厂商已经不多了,竞争氛围却没有走向衰减。活下来的厂商都长成了难以计量的巨无霸,几乎都在主品牌之外开辟了面向不同细分领域的子品牌,也都腾讯下狠手!小学生们真要哭了前段时间,一篇题为精神鸦片竟长成数千亿产业,业内人士提醒,警惕网络游戏危害,及早合理规范的文章再一次引起了轩然大波。将游戏比喻为毒品,让小雷有一种梦回2010的感觉,难道说游戏寒冬太过分!MIUI骚操作激怒米粉,惊动雷军前段时间,MIUI社区发布了全新的开发版内测和公测规则,要求相关的测试版用户需要每周完成固定的任务并且打卡,才能继续维持内测版和公测版的测试资格,没有完成任务的用户则可能失去测试资
这个贵过特斯拉,还备受王思聪质疑的充电宝,即将破圈成功?在双循环背景下,发展共享经济共享消费将继续成为挖掘消费潜力的重要抓手,未来中国共享经济的发展仍将处在快车道上。一王思聪打的赌不知道大家是否还记得,2017年的时候,陈欧宣布聚美优品手机能否代替相机一前言手机能否代替相机这个话题很容易踩雷和得罪人,反正总有人跳出来说这不对,那也不对。互联网带来的便利,同时也给互联网世界带来更多的喷子,这些喷子在看下面的文章前要不补补知识再来,九月,新学弟学妹你们选好了笔记本吗?惠普ENVY13轻薄本惠普ENVY13轻薄本每年九月,都有一大批新生进入美丽的校园,但面对崭新的人际关系和种种以前从未遇到过的问题,往往让人感觉手忙脚乱。如何快速融入群体?面对这样的迷茫期,不如就让我们张小龙微信将推出自有输入法1月20日消息,19日晚,在2021微信公开课Pro版的微信之夜上,微信之父张小龙给出了不少数据和新料。其中,张小龙表示接下来微信将灰度测试输入法。张小龙透露,微信即将有自己的输入微易客商家为什么要做数字化转型?2020年,疫情突然暴发后,大部分线下门店关停,线上经济呈现爆发式的增长,进而倒逼商家加速了数字化转型。数字化转型是未来企业发展的关键,如果你还在经营传统门店,提醒您一声,赶紧让自如何看待韩政府给素媛案罪犯发放补助每月7000元人民币据韩媒报道,日前,韩国电影素媛原型罪犯赵斗淳向居住地所在政府,提交韩国向低收入群体发放的国民基础生活保障补贴申请,引发民众强烈反对。当地时间2月2日,京畿安山地区相关人士透露,安山西藏冒险王失踪成谜,遗体找到系谣言王相军(1990年2020年12月),男,出生于四川邻水,先后去过萨普神山梅里雪山来古冰川布加雪山等70余座冰川,并收获大批粉丝,获得冰川哥的名号。2020年12月20日,王相军在微易客开工大吉,2021一起犇上班第一天大家正式开启上班模式新年新气象小编祝大家开工大吉,牛气冲天!度过了一个欢乐祥和的春节假期后我们再次回到了工作岗位中告别成绩斐然的2020迎来了充满希望的2021崭新的一年代孕后又要弃养?央视评论如此践踏底线,法律难容,道德难容1月18日,某女星的前男友张恒在网上晒出抱着两个孩子的照片,随后又放出了几段录音,曝光录音中女方打也打不掉,我都烦死了更令人愤怒,信息量很大,多次流露出了弃养代孕所生孩子的想法。事百香果女孩遇害案改判被告人死刑,二审影响恶劣?12月28日,百香果女孩案凶手被改判死刑。宣判后,女童母亲大哭,她说,虽然对结果满意,但换不回来女儿。2018年10月4日,10岁女童卖完百香果回家途中,遭杨光毅残忍强奸死亡,一审微易客刚刚!传化支付牌照成功续展刚刚,又一家支付机构牌照成功续展。中国人民银行官网公示显示,浙江传化支付有限公司支付业务许可证续展成功,业务类型为互联网支付移动电话支付预付卡发行与受理(仅限线上实名支付账户充值)