用了MyBatis就不会发生SQL注入风险吗?

用了MyBatis就不会发生SQL注入风险吗?

SQL注入问题是很久的事情了,而且现在mybatis,hibernate等框架使用较为成熟了,但是作为一个T新手肯定要对一些本质上的安全问题从新从头梳理一下。

本 文 主 要 说 S Q L 注 入 中 的 S t a t e m e n t 对 象 , P r e p a r e d S t a t e m e n t 对 象 , 和 m y b a t i s 的 注 入 风 险   \color{red}{本文主要说SQL注入中的Statement对象,PreparedStatement对象,和mybatis的注入 风险 ~ } SQLStatementPreparedStatementmybatis 

1.前言

正文开始,首先是环境准备一下,数据库建个表:

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL auto_increment COMMENT '主键ID',
  `name` varchar(30) default NULL COMMENT '姓名',
  `password` varchar(50) default NULL,
  `age` int(11) default NULL COMMENT '年龄',
  `email` varchar(50) default NULL COMMENT '邮箱',
  `create_time` datetime default NULL,
  `update_time` datetime default NULL,
  `deleted` int(1) default NULL COMMENT '逻辑删除',
  `version` int(10) default '1' COMMENT '乐观锁',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1261298512404000775 DEFAULT CHARSET=utf8;

在定义一个mysql的连接工具类:

package jdbc.util;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;

// SQL连接工具类
public class JdbcUtil {
   
    public static PreparedStatement pstmt = null ;  //这三个对象调用时,
    public static Connection connection = null ;  // 自己创建
    public static ResultSet rs = null ;
	public static Statement st =null;
	
    public static final String URL = "jdbc:mysql://localhost:3306/mybatisplus";
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖一点雨

原创不易,鼓励鼓励~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值