自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Mybatis的SQL注入

我们使用一个开源的cms来分析,java sql注入问题适合使用反推,先搜索xml查找可能存在注入的漏洞点→反推到DAO→再到实现类→再通过调用链找到前台URL,找到利用点,话不多说走起。以上就是Mybatis的sql注入审计的基本方法,我们没有分析的几个点也有问题,新手可以尝试分析一下不同的注入点来实操一遍,相信会有更多的收获。根据文件名带Dao的xml为我们需要的,以IContentDao.xml为例,双击打开,ctrl +F 搜索$,查找到16个前三个为数据库选择,跳过,

2023-10-12 20:33:34 1008

原创 Mybatis笔记 - SQL标签方法

Mpper.xml映射文件中定义了操作数据库的sql,并且提供了各种标签方法实现动态拼接sql。每个sql是一个statement,映射文件是mybatis的核心。

2023-10-12 20:31:52 341

原创 MyBatis SQL语句构建器

正如你已经看到的那样,MyBatis 在它的 XML 映射特性中有一个强大的动态 SQL 生成方案。此时, MyBatis 有另外一个特性可以帮到你,在减少典型的加号,引号,新行,格式化问题和嵌入条件来处理多余的逗号或 AND 连接词之前。当你仔细看时,那不用担心偶然间重复出现的"AND"关键字,或者在"WHERE"和"AND"之间的选择,抑或什么都不选。该SQL类非常注意"WHERE"应该出现在何处,哪里又应该使用"AND",还有所有的字符串链接。在3.2版本之前,我们使用了一点不同的做法,通过实现​。

2023-10-10 15:08:53 172 1

原创 MyBatis 动态SQL

反之若传入了"title",那么就会把模糊查找"title"内容的BLOG结果返回(就这个例子而言,细心的读者会发现其中的参数值是可以包含一些掩码或通配符的)。还是上面的例子,但是这次变为提供了"title"就按"title"查找,提供了"author"就按"author"查找,若两者都没有提供,就返回所有符合条件的BLOG(实际情况可能是由管理员按一定策略选出BLOG列表,而不是返回大量无意义的随机结果)。而且,若最后的内容是"AND"或"OR"开头的,where 元素也知道如何将他们去除。

2023-10-10 15:08:04 64 1

原创 Mybatis实现增删改查

由于添加是更新类的语句,所以在执行插入语句后,需要提交事务,也就是执行对应的 commit方法,以提交更新操作,若没有这一句,即使不会报错,也无法正常存入,会被回滚,且这个id被占用。,而方法中的参数又为一个 JavaBean 类,也就是User实体类,所以需要在标签属性中,添加一个 parameterType 属性,其中需要指定这个实体类。在测试方法中,读取配置文件,生产 SqlSession,释放资源等等,在每一测试方法的时候,都是重复的,所以我们完全可以提出出这一部分,防止大量的重复代码。

2023-09-22 17:31:08 64 1

原创 Mybatis介绍

映射器接口的实例是从 SqlSession 中获得的。命名空间的作用有两个,一个是利用更长的全限定名来将不同的语句隔离开来,同时也实现了你上面见到的接口绑定。长远来看,只要将命名空间置于合适的 Java 包命名空间之中,你的代码会变得更加整洁,也有利于你更方便地使用 MyBatis。也可以指定一个包名,Mybatis会在报名下面搜索需要的JavaBean,比如: 扫描实体类的包,它的默认别名为这个类的类名首字母小写。假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!

2023-09-19 23:02:54 29

原创 Mybatis介绍

在mybati中使用这种映射性解决了大量的重复代码。

2023-09-19 20:29:18 26

原创 JDBC的介绍

•setFloat(intparameterIndex,floatx)向当前 SQL 语句中的指定位置绑定一个 float 值 •setInt(intparameterIndex,intx)向当前 SQL 语句中的指定位置绑定一个 int 值 •setString(intparameterIndex,Stringx)向当前 SQL 语句中的指定位置绑定一个 String 值。注意 ResultSet 中封装的并不是我们查询到的所有的结果集,而是返回了查询到的结果 集的数据库游标。整个过程我们称之为硬解析。

2023-08-30 16:15:55 61

原创 Servlet 简介

我们可以看到,HttpServlet 中对原始的 Servlet 中的方法都进行了默认的操作,不需要显式的销毁初始化以及 service(),在 HttpServlet 中,自定义了一个新的 service() 方法,其中通过 getMethod() 方法判断请求的类型,从而调用 doGet() 或者 doPost() 处理 get,post 请求,使用者只需要继承 HttpServlet,然后重写 doPost() 或者 doGet() 方法处理请求即可。

2023-08-25 00:05:49 33 1

原创 Tomcat的介绍与使用

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。另 外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP 容器,独立的Servlet容器是Tomcat的默认模式。

2023-08-16 19:08:50 117 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除