配置文件之属性文件,sql漏洞的原因,sql注入的解决办法和原理,preparedStatement的增删改查语句,

13  配置文件:

属性文件:

格式:扩展名是 .properties

内容: key = value

 

在工具类中获取文件

14  SQL漏洞的原因:

 存在or关键字和-- 注释

15  解决方法 preparedStatement  预处理(会对关键词进行转译)

编写SQL语句(预先编译,只能在问号的地方才能输入内容(并且一个问号输入的内容是一个字符串),并且即使有关键字当做普通内容)

String  sql = “select * from user where username = ? And password =?”;

设置参数:

pstmt.setString(1, username);表示把第一个问号替换成username

Pstmt.setString(2, password); 意思是把第二个问号替换成 password

16  preparedStatement 添加(插入)内容

在编写SQL语句的时候 用问号代替

Insert into user valuesnull,?,?,?,?);

然后依次设置每一个 替代问号的内容

pstmt.setString(1,”xxx”);   pstmt.setInt(2,23) 等等

17  Preparedstatement 修改操作

编写的修改的SQL语句

String  sql = “Update user set username = ? ,password = ? ,nickname=?, age =?, where id = ?”;

也是依次给问号赋值:pstmt.setString(1,”abcds”);  pstmt.setInt(5, 6);

18 删除操作

在获得连接之后,编写SQL语句

String sql = “delete from user where id =?”;

将想删除的id赋值给问号 :pstmt.setInt(1,5);

19 查询操作

Connection conn = null; 连接

preparedStatement pstmt = null; 预处理SQL语句对象

ResultSet rs = null; 结果集

获的连接之后,编写SQL语句

String sql = “select * from user”; 查询所有记录  查某一天就加where条件

预编译: pstmt = conn.preparedStatement(sql);

执行SQL rs = pstmt.executeQuery();

//编写SQL语句 添加插入语句

String sql ="insert into user values(null,'eee','1234','zhang',11)";

//编写SQL语句 修改语句

String sql ="update user set password='xiugaihou',nickname ='zhongguo' where id =4";

//执行SQL语句

int num =stmt.executeUpdate(sql);

//编写SQL语句 删除指定语句

String sql ="delete from user where id =5 ";

//执行SQL语句

int num =stmt.executeUpdate(sql);

if(num > 0){

System.out.println("删除数据成功");

}

 

insert into biaoming values (zhiliebiao);

delete from biaoming where tiaojian;

truncate table XXX

update XXX set ziduanming = zhi where tiaojian;

select * from XXX where tiaojian group by fenzuziduan having juhetiaojian order by ziduan;

show database;

show tables;

show create database XXX;

show create table XXX;

 

select * from XXX cross join XXX;

select * from XXX inner join XXX;

select * from XXX left outer join XXX on biao1.id = biao2.id;

select * from XXX1,XXX2 where XXX1.id = XXX2.id ;

Class.forName("com.mysql.jdbc.Driver");注册驱动

Connection conn = DriverManager.getConnection(url,user,password);获得连接

Statement stmt = conn.createStatement();创建SQL语句执行对象

String sql = "select * from XXX where id =4;编写SQL语句

rs = stmt.executeQuery(sql);执行SQL查询语句  rs.next)

rs2 = stmt.executeUpdate(sql);执行SQL曾 删 改 的语句 返回int类型  num >0

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值