• serlvet操作数据库


    工具:eclipse

    数据库工具:mysql

    java ee操作数据库,首先要导入数据库驱动文件,我用的是mysql

    刚开始,很多人代码正确但是就是连接不上,原因就是忘了驱动文件的导入。

    我的驱动文件:

    网上很容易找到

    操作如下:

    1.在要加入驱动文件的项目右击选中Build Path->>Add External Archives..

    2.选择该驱动文件路径,添加

    这下就可以进行数据库操作了

    代码首部必须import java.sql.*;

    复制代码
    //连接数据库,加载数据库驱动文件
    Class.forName("com.mysql.jdbc.Driver");
    //得到连接,括号内格式为数据库url+用户名+用户密码,这里的数据库名称为spdb,用户名称为root,密码为xxx
    Connection ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb","root", "XXX");
    //创建statement
    Statement sm=ct.createStatement();
    String sql="select * from users";//sql执行语句
    //有返回值的例如查找用executeQuery函数,没有返回值的例如删除用executeUpdate函数
    ResultSet rs=sm.executeQuery(sql);
    System.out.println(sql);
    if(rs.next()){//为真说明查找有结果,假说明未查找成功
    //这里可以执行查找成功后代码
    }
    复制代码

    一系列操作做完之后,必须关闭sql连接。。

    复制代码
    finally{
                try{//关闭可能会出现异常异常
                    //一定注意关闭顺序
                    if(rs!=null){//为了使程序健壮点,可能rs为空时要判断
                    rs.close();
                    }
                    if(sm!=null){
                    sm.close();
                    }
                    if(ct!=null){
                    ct.close();
                    }
                }catch(Exception e){
                        e.printStackTrace();
                    }
                    
                }
    复制代码

    一定要注意关闭顺序!!


    sql注入漏洞!!!

    假如我要验证用户名和密码,注意下面这句话:
     select * from users where username='22' and passwd='22' or 1='1';

    这句话不论什么,只要有后面的or 1='1',都会查找成功。

    其实本意是

    select * from users where username='xxx' and passwd='xxx';

    这样的话,如果用户名随便输入 ,密码输入     22' or 1='1 (红色字体部分)  ,那也可以验证成功,这段内容是两个单引号之间的
    这个就为sql注入漏洞,可先通过用户名从数据库中查找到密码,再与用户输入密码相比较,这样就可以有效的避免该问题了,当然也会有其他办法。

  • 相关阅读:
    tomcat 登录主页成功 点击Manager App 401 等问题
    servlet
    jsp 记录1 bs/cs
    java jar
    Java 第四课 对象 类
    java 第五课 异常
    Java 第三课 数组排序
    java 第二课 标识符
    java 第一课 笔记
    maven 项目问题集锦
  • 原文地址:https://www.cnblogs.com/ScvQ/p/6957214.html
Copyright © 2020-2023  润新知