zoukankan      html  css  js  c++  java
  • Mybatis使用ResultMap

    解决字段名和属性名不一致的问题

      - 新建数据库表的字段-这里就不贴上了
      在下面链接有
    

    https://www.cnblogs.com/rzkwz/p/12853899.html

    设置实体类和数据库字段名不一致

    测试查询

    新建Mapper接口

      public interface UserMapper {
          //查询全部用户
          List<User> getUserAll();
      }
    

    新建Mapper.xml

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE mapper
              PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <mapper namespace="com.rzk.mapper.UserMapper">
          <!--查询全部用户-->
          <select id="getUserAll" resultType="User">
              select * from user
          </select>
      </mapper>
    

    测试

          @Test
          public void getUserAll(){
              SqlSession sqlSession = MybatisUtils.getSqlSession();
              UserMapper mapper = sqlSession.getMapper(UserMapper.class);
              List<User> all = mapper.getUserAll();
              for (User user : all) {
                  System.out.println(user);
              }
          }
    

    username和password为空

    解决方法

    起别名

           <!--查询全部用户-->
          <select id="getUserAll" resultType="User">
              select id,name AS username,pwd as password  from user
          </select>
    

    使用resultMapper

    • 结果集映射

        <resultMap id="UserMap" type="user">
        <!--property: 实体类中的属性    column:数据库中的字段-->
        <!--数据库中的一个列 映射成数据库中的字段-->
        <result property="username" column="name"/>
        <result property="password" column="pwd"/>
        </resultMap>
        <!--查询全部用户-->
        <select id="getUserAll" resultMap="UserMap">
             select * from user
        </select>
      

    Result总结

    resultMap元素是MyBatis中最重要、最强大的元素。它允许您去掉JDBC从resultset检索数据所需的90%的代码,并且在某些情况下允许您做JDBC甚至不支持的事情。实际上,为复杂语句的join映射之类的东西编写等价的代码可能需要跨越数千行代码。ResultMaps的设计是这样的:简单的语句根本不需要显式的结果映射,而更复杂的语句只需要描述这些关系即可。

  • 相关阅读:
    零基础学python-8.2 列表的基本操作、迭代和解析
    零基础学python-8.1 列表
    轻松python文本专题-字符串开头或者结尾匹配
    轻松python文本专题-maketrans和translate
    轻松python文本专题-字符串逐字符反转以及逐单词反转
    轻松python文本专题-拼接、合并字符串
    创建jsp+Servlet+JavaBean+JDBC+MySQL项目的过程
    request传递参数
    表单如何与Servlet控制器关联
    JSTL标签库
  • 原文地址:https://www.cnblogs.com/rzkwz/p/12859628.html
Copyright © 2011-2022 走看看