使用MyBatis 框架犯的错误

最近做项目,数据层使用的是MyBatis框架,在使用过程中,犯了一些错误:

resultMap和resultType书写错误导致问题

resultMap和resultType二者用法不一样:

resultType:

<select id="count" parameterType="AreaDto"
 resultType="java.lang.Integer">  
        SELECT count(*) FROM USER  
select>  

resultMap:

"com.liulanghan.Blog" id="BlogResult">    
    <id column="id" property="id"/>    
    <result column="title" property="title"/>    
    <result column="content" property="content"/>    
    <result column="owner" property="owner"/>    
   

  

resultType值可以指定很多类型,包括一个类。

jdbcType中的int类型为INTEGER

Mybatis中javaType和jdbcType对应关系:

jdbcType javaType
CHAR String
VARCHAR String
BOOLEAN boolean
INTEGER int
FLOAT double
DOUBLE double



在insert语句中,values后忘了加#{ },直接属性上去了。

id="add" parameterType="EStudent">
  insert into TStudent(name, age) values(#{name}, #{age})

values后面的值是相应类对应的属性值,还可以对这些属性指定jdbcType :

id="insert"  parameterType="com.examples.Role">
        insert into role ( id,name,type) values 
        (
         #{id,jdbcType=CHAR},
         #{name,jdbcType=VARCHAR},
         #{type,jdbcType=CHAR}
        )
    

你可能感兴趣的:(使用MyBatis 框架犯的错误)