mybatis实现模糊查询

在项目管理系统中,模糊查询数据最为常见,mybatis模糊查询的实现也非常简单,只需要在映射文件中通过元素编写相应的SQL语句,并通过SqlSession的查询方法执行该SQL即可。 Mybaits实现模糊查询方法也有多种多样,下面总结了实现几种不同的方法,其具体实现方法如下。

  • 通过${}字符串拼接符拼接

在映射文件Permsisson. xml 中,添加根据权限名模糊查询权限信息列表的SQL语句,其中用了mybatis提供的字符串拼接符${value},属性值必须为value,拼接的是简单类型参数,这种字符串拼接符来拼接sql可以实现模糊查询,但是对于一些安全性要求比较高的项目,无法防止SQL注入,一般不推荐这种方法,具体实现代码如下:

     
	
  • 通过concat()方法拼接

对于安全性比较高的项目,可以用这种方式来拼接sql语句,这样既可以实现模糊查询,也可以防止sql注入问题,可以对上面的映射文件Permsisson.xml中的模糊查询的select语句进行修改,使用MySQL中的concat()函数进行字符串拼接, 具体修改示例如下所示:

    
	
  • 通过标签绑定元素

在进行模糊查询编写SOL语句的时候,如果使用"${}“进行字符串拼接,则无法防止SOL注入问题;如果使用concat函数进行拼接,则只针对MySOL数据库有效;如果使用的是Oracle数据库,则要使用连接符号”||"。 这样,映射文件中的SOL就要根据不同的情况提供不同形式的实现,这显然是比较麻烦的,且不利于项目的移植。 为此,MyBatis提供了元素来解决这一问题,我们完全不必使用数据库语言,只要使用MyBatis的语言即可与所需参数连接:

    
	

你可能感兴趣的:(MyBatis)