2021-07-30JDBC

Java Database Connectivity

是一种专门用来通过Java程序操作数据库

导入jar包

使用工具库,获取数据库的连接(用户名,密码)

通过程序执行SQL

通过程序处理结果

package cn.tedu.test;

import java.sql.*;

//测试jdbc入门案例
public class Test1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //注册驱动 Driver
     //  Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
        //获取连接(用户名 密码 (端口号  url 库名))
        //哪里的哪里数据库
        String url="jdbc:mysql://localhost:3306/cgb2106?characterEncoding=utf8";
        Connection c = DriverManager.getConnection(url, "root", "root");
        //获取传输器
        Statement s = c.createStatement();
        //执行 sql语句
        ResultSet resultSet = s.executeQuery("select * from dept");
        //处理结果集
       while (resultSet.next()){//判断有没有数据
           System.out.print(resultSet.getString(1));//第一列
           System.out.print(resultSet.getString(2));
           System.out.print(resultSet.getString(3));
           System.out.println();
          // System.out.println(resultSet.getString("deptno"));//字段名

       }
        //释放资源
        resultSet.close();
       s.close();
       c.close();
    }
}

SQL注入(简易破解)

package cn.tedu.test;

import java.sql.*;
import java.util.Scanner;

/*自己准备user2表(id/name/password),准备数据
    CREATE TABLE `user` (
          `id` int(11)  PRIMARY KEY  auto_increment,
          `name` varchar(10) default NULL,
          `password` varchar(10) default NULL
    ) ;
 */
public class Test4 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        System.out.println("请输入您的账号:");
        String uname = new Scanner(System.in).nextLine();
        //简单破解 注入SQL攻击
        // if(uname.contains("#")) {
        //    System.out.println("去你妈的!");
        //}
        //else {
            System.out.println("请输入您的密码:");
            String upassword = new Scanner(System.in).nextLine();
            //注册驱动
            Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
            //获取连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/cgb2106",
                    "root", "root");
            //获取传输
            Statement statement = connection.createStatement();
            //执行sql
            ResultSet resultSet = statement.executeQuery(
                    "select * from user where name ='" + uname + "' and password ='" + upassword + "'");
            //验证
            if (resultSet.next()) {
                System.out.println("登录成功!");
            } else {
                System.out.println("登录失败!请重新输入");
            }
            //关闭资源
            resultSet.close();
            statement.close();
            connection.close();
        }

   // }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值