Mybatis 的多个参数的使用和 sql日志的打印

  1. mybatis的日志打印:

    在log4j.properties 里面添加如下的语句

#log4j.logger.org.apache.ibatis=debug,stdout

#log4j.logger.java.sql=debug,stdout

  1. 多个String类型的参数的导入:

<select id="findCategoryByCN" parameterType="String" resultType="Map">

????????select *

????????from t_business_classificationmeta where 1=1

????????<if test="#{1} != null and #{1} != ‘‘"> and TITLE = #{1}</if>

????????<if test="#{0} != null and #{0} != ‘‘"> and CLASSIFICATIONCODE=#{0} </if>

????</select>

?

不是直接使用名称进行代替。

时间: 2024-10-03 20:18:31

Mybatis 的多个参数的使用和 sql日志的打印的相关文章

MyBatis查询传一个参数时报错:There is no getter for property named &#39;sleevetype&#39; in &#39;class java.lang.Integer

用MyBatis进行查询,传入参数只有一个时(非Map)如int,报错 There is no getter for property named 'sleevetype' in 'class java.lang.Integer 原因在于测试条件写法有误, <if test="sleevetype==0"><!-- 专属 --> exclusive=1 </if> <if test="sleevetype!=0">&l

MyBatis传入多个参数的问题

一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t where t.id= #{id} </select> 其中方法名和ID一致,

小峰mybatis(2)mybatis传入多个参数等..

一.mybatis传入多个参数: 前面讲传入多个参数都是使用map,hashmap:key value的形式:-- 项目中开发都建议使用map传参: 比如现在通过两个参数,name和age来查询: 通过两个参数来查的,了解下就行了: 数据库中存在t_student记录: 1)测试代码StudentTest.java: @Test public void testSearchStudents() { logger.info("根据name和age查询学生"); List<Stude

好947 Mybatis 配置resultMap 带参数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错

//TMD 写几个demo 还有大站采集 <a target=_blank href="http://hao947.com/" target="_blank">好947</a> 映射配置文件 <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 --> <RESULTMAP id=BaseResultMap type="person"><pre name="c

Mybatis(4) 映射文件-参数处理

参数处理: 单参数处理: mybatis 不会做任何特殊处理. #{key} : key 可以写任何字段取出参数值. 测试方法: mapper接口: mapper.xml: 控制台: 多参数处理: mybatis会做特殊处理, 将多个参数封装成一个map. #{key} 的 key 为 param1……paramN, 或者参数索引. #{key} 的 value 为传入的参数的真实值.  测试方法: mapper接口: mapper.xml:  控制台:  绑定异常, id, name 参数没有

MyBatis学习(四)XML配置文件之SQL映射的XML文件

SQL映射文件常用的元素: 1.select 查询语句是MyBatis最常用的语句之一. 执行简单查询的select元素是非常简单的: <select id="selectUser" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id} </select> 这个语句被称作selectUser,接受一个int类型的参数,

mybatis中#{}与${}的差别(如何防止sql注入)

默认情况下,使用#{}语法,MyBatis会产生PreparedStatement语句中,并且安全的设置PreparedStatement参数,这个过程中MyBatis会进行必要的安全检查和转义. #相当于对数据 加上 双引号,$相当于直接显示数据 示例1:执行SQL:select * from emp where name = #{employeeName}参数:employeeName=>Smith解析后执行的SQL:select * from emp where name = ? 示例2:

输入值/表单提交参数过滤有效防止sql注入的方法

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法: 代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @return string * @author zrp <[email protected]> */ private function filter_keyword( $string ) { $keyword = select|insert|update|delete|\|\/\*|\*|\.\.\/|\.\/|union

mybatis结合log4j打印SQL日志

1.Maven引用jar包 默认的mybatis不能打印出SQL日志,不便于查看调试,须要结合log4jdbc-log4j2就能够完整的输入SQL的调试信息. pom.xml 配置maven.注意以下3个都须要 <dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId> <version&g