当前位置: 首页 > news >正文

淄博市建设业协会网站网站目录字典

淄博市建设业协会网站,网站目录字典,网站托管运营,前端app开发流程编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 文章目录 引言一、查询单行数据返回单个对象二、查询多行数据返回对象的集合三、 查询单行数据返回Map[Key,…

编译软件:IntelliJ IDEA 2019.2.4 x64
操作系统:win10 x64 位 家庭版
Maven版本:apache-maven-3.6.3
Mybatis版本:3.5.6


文章目录

  • 引言
  • 一、查询单行数据返回单个对象
  • 二、查询多行数据返回对象的集合
  • 三、 查询单行数据返回Map[Key,Value]集合
  • 四、 查询多行数据返回Map集合


引言

在Mybatis中,resultType属性是selcet元素【映射查询语句】中常用的属性之一,这个属性是什么意思呢?Mybatis官方对它的描述如下所示:期望从这条语句中返回结果的类全限定名或别名。 注意,如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身的类型。 resultType 和 resultMap 之间只能同时使用一个。


一、查询单行数据返回单个对象

👉应用场景

例如根据id或者字段条件查询获取表中的某一个字段值

代码示例如下

①Java代码示例如下

//根据empId来查出对应的employee对象
public Employee selectByempId(int empId);

②sql映射文件中相关代码如下

<!--  resultType:Mapper接口中selectByempId方法的返回值类型【Employee类(写类的全名称)】  -->
<select id="selectByempId" resultType="mybatis.pojo.Employee">selectid,last_name ,email,salaryfromtbl_employeewhereid= #{empId}
</select>

❗注意:

①resultType中的类名一般是写类的全类名,但如果之前自定义了类的别名,也可以写上别名去

②如果是java 的基本类型,就不需要别名的

别名映射的类型
_bytebyte
_longlong
_shortshort
_intint
_booleanboolean
integerInteger
stringString
dateDate
booleanBoolean

🥇如何给类自定义别名?

  1. 在Mybatis-config.xml文件中给类起别名

    ①直接给类起别名

    代码示例如下:

    <typeAliases><!-- 给mybatis.pojo包下的Employee类起了别名【employee】  --><typeAlias type="mybatis.pojo.Employee" alias="employee"/>
    </typeAliases>
    

    ②给包下的类批量起别名

    代码示例如下:

    <typeAliases><typeAlias type="mybatis.pojo" />
    </typeAliases>
    

    ps: 只要写包名即可,mybatis会自动去扫描包下的所有类,并以类名的首字母小写给类起别名

  2. 在类上使用注解@Alias给类起别名

    代码示例如下:

    package mybatis.pojo;@Alias("emp")
    //使用@Alias注解给Employee类起了别名emp
    public class Employee {}
    

二、查询多行数据返回对象的集合

代码示例如下:

①Java代码示例如下

//查看所有的员工信息
public List<Employee> showAllEmployee();

②sql映射文件中相关代码如下

<!--  查看所有的员工信息  -->
<!-- 如果resultType中的值是一个类的类型,如果之前定义它的别名,这里可填写该类的别名,毕竟有时类的全名太长了   --><select id="showAllEmployee" resultType="mybatis.pojo.Employee">selectid,last_name ,email,salaryfromtbl_employee</select>

❗ 注意:如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身的类型。


三、 查询单行数据返回Map[Key,Value]集合

👉应用场景

数据库中的字段作为Map的key,查询结果作为Map的Value

⭐用法案例

根据员工编号查询指定的员工信息,并用Map集合返回结果

①在Mapper接口书写相应的方法

//根据员工编号查询指定的员工信息,并用Map集合返回结果
public Map<String,Object> showEmpoloyByempID(int empId);

②在映射文件中书写相应的sql

<select id="showEmpoloyByempID" resultType="map">selectid,last_name ,email,salaryfromtbl_employeewhereid= #{empId}
</select>

③测试

@Test
public void test06(){try {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//通过SqlSessionFactory对象调用openSession();SqlSession sqlSession = sqlSessionFactory.openSession();//获取EmployeeMapper的代理对象EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);Map<String, Object> map = employeeMapper.showEmpoloyByempID(1);System.out.println(map);} catch (IOException e) {e.printStackTrace();}
}

在这里插入图片描述


四、 查询多行数据返回Map集合

👉应用场景

Map<Integer key,Employee value>

  • 对象的id作为key

  • 对象作为value

⭐用法案例

查询所有的员工信息,使用Map集合返回查询结果

①在Mapper接口中书写相应方法

//查询所有的员工信息
@MapKey("id")
public Map<Integer,Employee> showAll();

②在对应的映射文件中书写相关的sql

<select id="showAll" resultType="map">selectid,last_name ,email,salaryfromtbl_employee
</select>

③测试

@Test
public void test07(){try {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//通过SqlSessionFactory对象调用openSession();SqlSession sqlSession = sqlSessionFactory.openSession();//获取EmployeeMapper的代理对象EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);Map<Integer, Employee> map = employeeMapper.showAll();System.out.println(map);} catch (IOException e) {e.printStackTrace();}
}

在这里插入图片描述


http://www.yayakq.cn/news/135393/

相关文章:

  • 如何做视频会员网站ppt下载免费完整版
  • 普通门户网站开发价格phpmyadmin wordpress
  • 网站关键词多少个最好常州商城网站制作公司
  • 南通自助模板建站网站关键字选择标准
  • 做贸易常用的网站清华大学网站建设方案
  • 长沙好的网站建设品牌怎么查看小程序的开发公司
  • 网站域名名字wordpress程序主题
  • 网站建设二级页面方案企业电话黄页
  • php网站后台怎么进石家庄网站建设哪家便宜
  • 免费做网站的优缺点微信网站怎么收款
  • wordpress站长之家中企动力公司官网
  • 网站建设与管理试题及答案石家庄科技中心网站
  • 网站网站模版软件设计包括哪些内容
  • 建立网站的目的是什么交互设计网站有哪些
  • 网站购买域名wordpress视频解析主题
  • 微网站模板前后台建设网站需要多少钱济南兴田德润地址
  • 新宾区网站建设网站开发相关
  • 网站上放个域名查询公司logo标志设计免费
  • 网站开发 技术方案专业重庆房产网站建设
  • 移动端公众号网站开发wordpress 图片管理插件
  • 高端网站建设专家评价网站大学报名官网入口
  • 素材网站设计模板下载wordpress空间大小
  • 甘肃省建设工程安全质量监督局网站网站开发方式演进
  • 石家庄网站建设全包wordpress设计的网站
  • 盘龙城做网站wordpress 多店铺
  • 甘肃省建设厅官方网站信息网网站建设和定位
  • 有哪些网站可以免费看电影工程建筑模板价格
  • 烟台优化网站公司海拉尔建网站
  • 淘宝有做网站吗本地的赣州网站建设
  • 十大免费ppt网站软件WordPress数据库防注入