本文共 1320 字,大约阅读时间需要 4 分钟。
当查询结果属性名(字段)和模型类中不一样时,其查询结果如果用resultType接受,字段不一样的属性值就会丢失,而resultMap可以解决这个问题。
property表示的实体类中属名 colum表示sql语句查询字段名(如果查询字段没有起别名,即是数据库字段名)public interface UserMapper { //返回为resultMap类型的使用 public User findUserByResultMap(int userId);}
xml配置:
测试类:
public class Demo01 { SqlSession session; @Before public void before() throws IOException { System.out.println("before....获取session"); //读取配置文件 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); //通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); //通过SqlSessionFactory创建SqlSession session = sessionFactory.openSession(); } @After public void after(){ session.close(); } /* 结果类型resultMap */ @Test public void test2() throws IOException { UserMapper userMapper = session.getMapper(UserMapper.class); //通过模型的包装类来查询用户 User user = userMapper.findUserByResultMap(1); System.out.println(user); }}
转载地址:http://ctde.baihongyu.com/