mybatis怎么实现resultmap结果集-亚博电竞手机版

mybatis怎么实现resultmap结果集

今天小编给大家分享一下mybatis怎么实现resultmap结果集的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

数据库中的字段

新建一个项目,拷贝之前的,测试实体类字段不一致的情况

1.新建一个mybatis-03

2.新建db.properties配置文件

driver=com.mysql.jdbc.driverurl=jdbc:mysql://localhost:3306/mybatis?usessl=false&useencoding=false&characterencoding=utf-8&servertimezone=gmtusername=rootpassword=root

3.新建mybatis-config.xml配置文件

4.创建com.kuang.utils包,包下创建mybatisutils工具类

packagecom.kuang.utils;importorg.apache.ibatis.io.resources;importorg.apache.ibatis.session.sqlsession;importorg.apache.ibatis.session.sqlsessionfactory;importorg.apache.ibatis.session.sqlsessionfactorybuilder;importjava.io.ioexception;importjava.io.inputstream;//sqlsessionfactory用来构建sqlsessionpublicclassmybatisutils{//提升sqlsessionfactory的作用域privatestaticsqlsessionfactorysqlsessionfactory;static{try{//使用mybatis第一步获取sqlsessionfactory对象stringresource="mybatis-config.xml";//通过resources读取配置文件inputstreaminputstream=resources.getresourceasstream(resource);//通过sqlsessionfactorybuilder加载一个流,构建一个sqlsession工厂sqlsessionfactory=newsqlsessionfactorybuilder().build(inputstream);}catch(ioexceptione){e.printstacktrace();}}//既然有了sqlsessionfactory,顾名思义,我们可以从中获得sqlsession的实例。//sqlsession提供了在数据库执行sql命令所需的所有方法。publicstaticsqlsessiongetsqlsession(){returnsqlsessionfactory.opensession();}}

5.创建com.kuang.pojo包,里面存储实体类对象user

packagecom.kuang.pojo;publicclassuser{privateintid;privatestringname;privatestringpassword;publicuser(intid,stringname,stringpassword){this.id=id;this.name=name;this.password=password;}publicuser(){}publicintgetid(){returnid;}publicvoidsetid(intid){this.id=id;}publicstringgetname(){returnname;}publicvoidsetname(stringname){this.name=name;}publicstringgetpassword(){returnpassword;}publicvoidsetpassword(stringpassword){this.password=password;}@overridepublicstringtostring(){return"user{" "id=" id ",name='" name '\'' ",password='" password '\'' '}';}}

6.创建com.kuang.dao包,里面存放接口usermapper以及接口实现类usermapper.xml

usermapper

packagecom.kuang.dao;importcom.kuang.pojo.user;importjava.util.list;importjava.util.map;publicinterfaceusermapper{//根据用户id查询用户信息usergetuserbyid(integerid);}

usermapper.xml

select*fromuserwhereid=#{id}

7.创建测试类

packagecom.kuang.dao;importcom.kuang.pojo.user;importcom.kuang.utils.mybatisutils;importorg.apache.ibatis.session.sqlsession;importorg.junit.test;importjava.util.hashmap;importjava.util.list;importjava.util.map;publicclassuserdaotest{@testpublicvoidtestgetuserbyid(){//第一步:获取sqlsession对象sqlsessionsqlsession=mybatisutils.getsqlsession();//执行sql//方式一:getmapper(推荐使用)usermapperuserdao=sqlsession.getmapper(usermapper.class);useruser1=userdao.getuserbyid(1);system.out.println(user1);//关闭sqlsessionsqlsession.close();}}

8测试结果及问题分析

8.1亚博vip888的解决方案一:在sql查询语句中为pwd字段起别名起别名

将原sql语句

selectid,name,pwdaspasswordfromuserwhereid=#{id}

改为

selectid,name,pwdaspasswordfromuserwhereid=#{-->id}

8.2 resultmap 结果集映射

字段名:id name pwd
属性名:id name password

select*fromuserwhereid=#{id}

  • resultmap 元素是 mybatis 中最重要最强大的元素

  • resultmap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了

  • resultmap 的优秀之处——你完全可以不用显式地配置它们

以上就是“mybatis怎么实现resultmap结果集”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图