我自己的理解类型转换 是由TypeHandler接口来控制
每个类型都有默认的TypeHandler来控制前台传参过来都是 当做String类型然后在mybatis转 数据库类型的时候
它应该调用了某TypeHandler,能够自动识别 转换

解决方案 »

  1.   

     自己 找 mybatis 里面 的具体的sql  看看 sql的 参数  是怎么写的  就知道了
      

  2.   

    values(#{id,jdbcType=VARCHAR}
    ,#{username,jdbcType=VARCHAR},#{usernumber,jdbcType=VARCHAR}
    ,#{deptname,jdbcType=VARCHAR},#{depcode,jdbcType=VARCHAR}
    ,#{queryparam,jdbcType=VARCHAR},#{querydate,jdbcType=TIMESTAMP}
    ,#{remoteAddr,jdbcType=VARCHAR},#{queryType,jdbcType=NUMERIC}
    ,#{queryResult,jdbcType=NUMERIC})<if test="usernumber !=null and usernumber !=''">
    usernumber like '%'||#{usernumber}||'%'
    </if>
    <if test="deptname !=null and deptname !=''">
    and deptname LIKE CONCAT(CONCAT('%', #{deptname}), '%')
    </if>
    实体类里也都是设置的String
      

  3.   

    values(#{id,jdbcType=VARCHAR}
    ,#{username,jdbcType=VARCHAR},#{usernumber,jdbcType=VARCHAR}
    ,#{deptname,jdbcType=VARCHAR},#{depcode,jdbcType=VARCHAR}
    ,#{queryparam,jdbcType=VARCHAR},#{querydate,jdbcType=TIMESTAMP}
    ,#{remoteAddr,jdbcType=VARCHAR},#{queryType,jdbcType=NUMERIC}
    ,#{queryResult,jdbcType=NUMERIC})<if test="usernumber !=null and usernumber !=''">
    usernumber like '%'||#{usernumber}||'%'
    </if>
    <if test="deptname !=null and deptname !=''">
    and deptname LIKE CONCAT(CONCAT('%', #{deptname}), '%')
    </if>
    实体类里也都是设置的String
    usernumber like '%'||#{usernumber}||'%'
    用#号 标示 里面是数字, 用$  标示是 字符串
      

  4.   

    <select id="selectForPage" parameterType="com.zl.bx.entity.QueryLog" resultType="com.zl.bx.entity.QueryLog">
    select <include refid="Base_Column_List"/>
    是个实体类
    private String username;
    /**
     * 用户身份证
     */
    private String usernumber;
    /**
     * 部门名
     */
    我是身份证可以查,部门名不能查
      

  5.   

    奇葩与诡异的问题,不过我平时传参都不写parameterType的,直接就可以使用#来获取对象属性。你用的MYBATIS哪个版本呀!
      

  6.   

    mybatis我一般这么写like
    select count(1) from t_query_log WHERE deptname like '%${value}%'
      

  7.   

    public HSSFWorkbook readerFromExcel(String path){  
      POIFSFileSystem fs = null; 
      HSSFWorkbook workbook = null; 
      File file = new File(path); 
       
      if(file.exists()){ 
      FileInputStream fin; 
      try { 
       fin = new FileInputStream(file); 
       fs = new POIFSFileSystem(fin); 
       workbook = new HSSFWorkbook(fs); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
       
      return workbook;
      }
      return null;
     }