zoukankan      html  css  js  c++  java
  • 数据库中的字段和实体类中的字段不一致

    当数据库中的字段和实体类中的字段不一致时,要想将查询到的数据完美的封装进实体类中有三种方法:

      1、使用别名

    public class User {
        private Integer id;
        private String userName;
        private String password;
        private String userInformation;
    
        public User() {
        }
    
    // 根据用户id查询出一条用户记录
    public abstract User queryUserById(User user);
    
    <select id="queryUserById" resultType="com.mybatis.domain.User">
            SELECT ID,PASSWORD,USER_NAME userName,USER_INFORMATION AS userInformation FROM tbl_user
            <where>
                ID = #{id}
            </where>
    </select>
    

      

      2、如果是Mybatis,并且满足如下规则:  数据库字段: USER_INFORMATION  实体类属性:userInformation,那么可以开启驼峰命名规则

    <configuration>
    <!--设置启用数据库字段下划线映射到java对象的驼峰式命名属性,默认为false-->  
        <settings>
            <setting name="mapUnderscoreToCamelCase" value="true"/>
        </settings>
    </configuration>
    

      

      3、使用resultMap对结果集进行自定义封装(xxx可以随意命名,但是一定要确保它们的名字要一致)

    <resultMap id="xxx" type="com.mybatis.domain.User">
    	<id property="id" column="ID"></id>
    	<result property="userName" column="USER_NAME"></result>
    	<result property="password" column="PASSWORD"></result>
    	<result property="userInformation" column="USER_INFORMATION"></result>
    </resultMap>
    
    <select id="queryUserById" resultMap="xxx">
    	SELECT ID,PASSWORD,USER_NAME,USER_INFORMATION FROM tbl_user
    		<where>
    			ID = #{id}
    		</where>
    </select>
    

      

  • 相关阅读:
    开始Flask项目
    夜间模式的开启与关闭,父模板的制作
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局
    制作首页的显示列表
    发布功能完成
    登录之后更新导航
    完成登录功能,用session记住用户名
    完成注册功能
    通过用户模型,对数据库进行增删改查操作
  • 原文地址:https://www.cnblogs.com/xiaomaomao/p/13662171.html
Copyright © 2011-2022 走看看