mybatis 参数问题

load方法,往sql语句中传一个参数的那种,似乎parameterType并不是那么重要,不写其实都可以,而且sql语句中的比如username=#{A} 这里面的A可以随便写,只要传过来的是个String类型,就会自动取出来,然后加上单引号,再放进这个sql语句中来。

但是如果是有多于一个参数要设置的话,那就要一一对应了,或者用对象的属性一一对应,或者用map的键和#{}里的东西一一对应(值就会被放入sql语句中)。这里要十分注意#{}和${}的区别,#{}取出来的值,会加上双引号在放入sql语句中,而${}取出来的,不会直接加双引号,如果int类型,或者一些不需要加双引号的string类型(比如作为关键字的ID,desc等)可以选用这个。但是如果用#,在单参数的时候,花括号里面的可以随便写,会自动加入,但是用$的话,花括号里面的要有这个属性才行。

select * from t_user where id=1(或者id=‘1’)都是可以取出来的。

时间: 2024-10-09 06:48:02

mybatis 参数问题的相关文章

(转载)深入了解MyBatis参数

原文地址:http://blog.csdn.net/isea533/article/details/44002219 深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The expression 'xxx' evaluated

mybatis 参数为list时,校验list是否为空, mybatis ${}与#{}的区别,Mybatis sql in

1.mybatis 参数为list时,校验list是否为空 2. mybatis ${}与#{}的区别 简单来说#{} 解析的是占位符?可以防止SQL注入, 比如打印出来的语句 select * from table where id=? 然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2 实实在在的参数. 最简单的区别就是${}解析穿过来的参数值不带单引号,#{}解析传过来参数带单引号. 最后总结一下必须使用$引用参数的情况,那就是参

深入了解MyBatis参数

相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The expression 'xxx' evaluated to a null value." "Error evaluating expression 'xxx'. Return v

【Mybatis】解析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参数传入集合之foreach动态sql

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性

mybatis参数查询

单个参数查询 在mapper.xml配置文件中配置 <select id= "selectByNu" parameterType ="java.lang.String" resultMap="BaseResultMap" > select <include refid= "Base_Column_List" /> from consume_number where consume = #{consume

Mybatis参数总结(转载)

转载自: MyBatis传入多个参数的问题 mybatis传递参数总结 一.单个参数 1.基本数据类型 (1)直接使用 List<ChargeRuleDO> tests(long id); <select id="tests" resultType="com.xxx.bean.ChargeRuleDO"> select * from t_charge_rule t where t.id = #{id} </select> #{}中

MyBatis参数传入集合之foreach用法

传入集合list 1 // 账户类型包括门店和分公司 2 List<Object> scopeList = new ArrayList<Object>(); 3 scopeList.add(UserConstants.UserScope.STORE); 4 scopeList.add(UserConstants.UserScope.BRANCH_COMPANY); 5 params.put("scopeList", scopeList); 6 PageResul

MyBatis参数处理及测试增删改查

 POJO private Integer id; private String lastName; private String email; private String gender; //getter and setter  接口 public interface EmployeeMapper { //查询 public Employee getEmployeeById(Integer id); //多条件查询 public Employee getEmpLoyeeByIdAndName

二、Springmvc+Mybatis 参数绑定之默认参数绑定 简单类型绑定 POJO绑定 POST乱码问题

web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/