(Log4jImpl.java:46)==>  Preparing: SELECT user_id, user_name FROM t_user WHERE user_id = ? 
2013-05-13 14:05:43DEBUG[main](Log4jImpl.java:46)==> Parameters: 1(Integer)
这行中 1(Integer) 不就是参数吗

解决方案 »

  1.   

    下面不是有么?参数是1,integer型。
      

  2.   


    (Log4jImpl.java:46)==>  Preparing: SELECT user_id, user_name FROM t_user WHERE user_id = ?  // 被执行的prepared statement
    2013-05-13 14:05:43DEBUG[main](Log4jImpl.java:46)==> Parameters: 1(Integer)  // 给点位符?使用的参数值与类型
      

  3.   

    (Log4jImpl.java:46)==>  Preparing: SELECT user_id, user_name FROM t_user WHERE user_id = ? 
    2013-05-13 14:05:43DEBUG[main](Log4jImpl.java:46)==> Parameters: 1(Integer)
    我不太确认下面是否参数;但是建议你每个方法做个junit单元测试,保证每个接口都没问题的话,其实问题就不大了!
      

  4.   

    如果你想要直接拼好的sql  mybatis 里 你加入参数用 ${param_name}  而不是用 #{param_name}  $ 会在你调用sql前进行处理 # 会通过参数注入处理。
     但用$不好的地方就是 $ 解析完后直接就是字符串的sql 我的DATE  类型不能被传入,传入会转为字符串  , 即使字符串类型 也要加上'' 
    example : where name = '${name}' , where name = #{name} 这就是区别。