mybatis连接数据库怎么解决数据库列名和程序属性名不一致的问题

来源:互联网 发布:php相册管理系统简单 编辑:程序博客网 时间:2024/05/21 13:21

后台代码和数据库字段经常出现字段不匹配的问题,比如程序里的Model是User,有name id age等属性,而数据库mysql的name是一个关键字,一般用uname代替,这时候导入的数据uname和name就会出现字段不匹配,怎么处理这样的情况呢?

方法一:查表的时候列名采用别名的形式,比如:

<select id="findUser" parameterType="int" resultType="ft.com.model.User">SELECT userId as id FROM users where userId=#{id}</select>

这样就能解决数据库userId和属性id不匹配的时候的问题,不过这样每一个不匹配的列都得单独选,如果要查询全数据就得把所有列名都提出来,对sql语句太碍眼了。
方法二: 使用resultMap属性来映射

<select id="findUser" parameterType="int" resultMap="userMap">SELECT userId as id FROM users where userId=#{id}</select><resultMap id="userMap" type="ft.com.model.User">    <id property="id" column="userId"/>    <result property="name" column="userName"></resultMap>

值得一提的是,resultMap中属性的字段只有主键用id标签,其他的都是result标签。

阅读全文
0 0
原创粉丝点击