JAVA JDBC连接步骤代码,SQL注入,处理异常try catch 的快捷键
备注:try catch快捷键:选中代码块,然后Ctrl+Alt+T //idea
所需文件夹
查询:statement.executeQuery(sql) 返回结果是数据集
package com;import java.sql.*;public class Demo1 {//备注:try catch快捷键:选中代码块,然后Ctrl+Alt+Tpublic static void main(String[] args){Connection connection = null;Statement statement = null;ResultSet resultSet = null;try {//1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0以后版本//2.获得链接String username = "root";String passWord = "123456";String url = "jdbc:mysql://localhost:3306/mysql2?serverTimezone=UTC";connection = DriverManager.getConnection(url, username, passWord);//3.定义sql,创建状态通道(进行sql语句的发送)statement = connection.createStatement();resultSet = statement.executeQuery("select * from emp1");//executeQuery(sql) 执行查询//4.取出结果集信息while(resultSet.next()){//判断是否有下一条数据//取出数据:resultSet.getXXX(“列名”); xxx表示数据类型System.out.println("姓名:"+resultSet.getString("ename")+",工资:"+resultSet.getDouble("sal")+",雇佣日期:"+resultSet.getDate("hiredate"));}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();} finally {try {//5.关闭资源if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}
}
增删改:statement.executeUpdate(sql) 返回结果是int类型,指受影响的行数
package com;import java.sql.*;public class Demo1 {//备注:try catch快捷键:选中代码块,然后Ctrl+Alt+Tpublic static void main(String[] args){Connection connection = null;Statement statement = null;try {//1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0以后版本//2.获得链接String username = "root";String passWord = "123456";String url = "jdbc:mysql://localhost:3306/mysql2?serverTimezone=UTC";connection = DriverManager.getConnection(url, username, passWord);//3.定义sql,创建状态通道(进行sql语句的发送)statement = connection.createStatement();//返回结果为受影响的行数 result的值是受影响的行数int result = statement.executeUpdate("insert into emp1(ename,hiredate,sal) values('aa','2020-1-1',2000)");//executeUpdate(sql) 执行增删改时使用if(result>0){System.out.println("执行成功");}else{System.out.println("执行失败");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();} finally {try {//5.关闭资源if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}
}
SQL注入
package com;import java.sql.*;public class Demo1 {//备注:try catch快捷键:选中代码块,然后Ctrl+Alt+Tpublic static void main(String[] args){Connection connection = null;Statement statement = null;ResultSet resultSet = null;try {//1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0以后版本//2.获得链接String username = "root";String passWord = "123456";String url = "jdbc:mysql://localhost:3306/mysql2?serverTimezone=UTC";connection = DriverManager.getConnection(url, username, passWord);//3.定义sql,创建状态通道(进行sql语句的发送)statement = connection.createStatement();String uname = "abcd";String pass = " '' or 1=1";resultSet = statement.executeQuery("select * from users2 where username='"+uname+"' and password="+pass);//executeQuery(sql) 执行查询//4.取出结果集信息if(resultSet.next()){System.out.println("登陆成功");}else{System.out.println("登陆失败");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();} finally {try {//5.关闭资源if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}} }
防止SQL注入(预状态通道)
package com;import java.sql.*;public class Demo1 {//备注:try catch快捷键:选中代码块,然后Ctrl+Alt+Tpublic static void main(String[] args){Connection connection = null;PreparedStatement pps = null;ResultSet resultSet = null;try {//1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0以后版本//2.获得链接String username = "root";String passWord = "123456";String url = "jdbc:mysql://localhost:3306/mysql2?serverTimezone=UTC";connection = DriverManager.getConnection(url, username, passWord);//3.定义sql,创建预状态通道(进行sql语句的发送)String sql = "select * from users2 where username=? and password=?";pps = connection.prepareStatement(sql);String uname = "aa";String pass = "1";//给占位符赋值 (下标,内容)pps.setString(1,uname);pps.setString(2,pass);//执行sqlresultSet = pps.executeQuery();//4.取出结果集信息if(resultSet.next()){System.out.println("登陆成功");}else{System.out.println("登陆失败");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();} finally {try {//5.关闭资源if (resultSet != null) {resultSet.close();}if (pps != null) {pps.close();}if (connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}
}
JAVA JDBC连接步骤代码,SQL注入,处理异常try catch 的快捷键相关推荐
- Java JDBC 使用Statement 产生sql注入问题
#Java JDBC 使用Statement 产生sql注入问题 Statement 对象用于执行静态SQL语句并返回其生成的结果对象 Statement 对象执行SQL语句,存在SQL注入风险 代码 ...
- Java JDBC连接oracle、SQL server、My Sql数据库的驱动
JAVA创建以JDBC连接数据库的程序 ①加载JDBC驱动程序: 1.oracle---------JDBC try{//加载oracle的驱动类Class.forName("oracle. ...
- java jdbc连接sql server2014
近几天尝试用java jdbc方式访问sql server2014,但老是报错(报错如下)现在终于解决了这个问题.java jdbc连接sql server2014步骤如下 1开启sql server ...
- Java应用程序中的SQL注入
在本文中,我们将讨论什么是SQL注入攻击. 以及它如何影响任何Web应用程序使用后端数据库. 在这里,我专注于Java Web应用程序. 开放Web应用程序安全项目(OWAP)列出了SQL注入是Web ...
- JAVA代码审计之WebGoat靶场SQL注入
文章目录 前言 WebGoat IDEA部署靶场 No.1 回显注入 No.2 布尔盲注 No.3 Order by 代审技巧 SQL注入挖掘 SQL注入防御 Fortify体验 总结 前言 为了从自 ...
- 原生JDBC连接步骤
#原生JDBC连接步骤 Java中定义了访问数据库的接口,可以为多种关系型数据库统一的访问方式. 由数据库厂商提供驱动实现类. ##JDBC开发步骤 1.注册驱动,jdk1.8之后,自动注册. //获 ...
- Java JDBC 连接MySQL数据库方法(IJ版)
Java JDBC 连接MySQL数据库方法(IJ版) 首先说一下IJ建立项目步骤: 1.新建一个Empty Project 2.新建一个Module 3.在src里新建一个Package 4.在Pa ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- java JDBC连接MySQL数据库调用存储过程进行查询
java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...
最新文章
- 【从入门到放弃-Java】并发编程-线程安全
- Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用
- http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=9332 多broser
- 《HTML5和CSS3快速参考》——第1章 走进HTML51.1 概述
- kubernetes-[1]-简单介绍
- 【图像去模糊】SDWNet: A Straight Dilated Network with Wavelet Transformation for image Deblurring
- SDN交换机配置说明—微云
- 敏捷开发“松结对编程”系列之十一:L型代码结构(团队篇之一)
- C语言学习笔记之初识
- urt-8转成GBK 之多种方法
- rtx3060ti参数配置
- java微信红包_Java模拟微信发红包(普通红包、拼手气红包)
- 数据数仓的三种建模方式
- 连接mongodb提示目标计算机拒绝,MongoDB 由于目标计算机积极拒绝,无法连接 2014-07-25T11:00:48.634+0...
- win10引导安卓x86_生命不息折腾不止 Win10竟与安卓有一腿
- mysql获取连续登陆大于等于3天的用户id
- c语言中的标准IO以及文件IO
- Bootstrap 引入 栅栏系统 文本 表格 类
- 给PPT设计初学者的一些建议
- 从零开始学五线谱_从零开始学乐理|第1课:不认识五线谱?花十分钟就够了...