mybatis解决数字库字段名和实体类字段不一致的方法

mybatis遇到的问题:数据库命名一般以下划线区分出来两个单词,但Java的实体类我们习惯用驼峰命名法,这就导致了表的字段和实体类中的参数对不上,mybatis则不能完成字段的映射。
mybatis提供了一种解决办法:resultMap
可以在mapper文件的头部增加以下示例代码:
<resultMap id="BaseResultMap" type="com.xinchen.pojo.Admin" >
    <id column="admin_id" property="adminId" jdbcType="BIGINT" />
    <result column="admin_name" property="adminName" jdbcType="VARCHAR" />
    <result column="admin_pass" property="adminPass" jdbcType="VARCHAR" />
    <result column="admin_level" property="adminLevel" jdbcType="INTEGER" />

但要注意,使用了resultMap后,需将原来的resultType替换成resultMap。但仅需要把select的resultType=“实体类”换成resultMap=“BaseResultMap”。其他的均不需要替换。
其!他!的!均!不!需!要!替!换!

id设置的是自增长的主键,column设置的是数据库里字段名,property是实体类的属性,jdbcType可以忽略不写。
还有两种解决办法,一是直接在mapper文件中为相关字段设置别名,但这样字段太多的话未免过于麻烦。而是利用mybatis提供的全局属性mapUnderscoreToCamelCase来解决。
代码:
<settings>  
    <setting name="mapUnderscoreToCamelCase" value="true"/>  
</settings>

记住是要配置在mybatis的配置文件中。
阅读更多
上一篇jQuery+HTML动态表格的实现
下一篇jQuery在HTML里可用,在jsp中报错$ not is a function 的解决办法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭