这个方法我不是很懂希望老师能详细讲解下

这个方法我不是很懂希望老师能详细讲解下

public <T> T getDao(Class<T> tClass){
    return sessionFactory.openSession(true).getMapper(tClass);
}

1、主要是public <T> T getDao(Class<T> tClass)这样的结构之前没见过,希望老师能详细介绍一下

2、之前是有mapper.xml文件里配置的,这里getMapper(tClass)映射的是什么呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
chrismorgen 2019-02-20 19:37:50

1、这里利用的反射和泛型的知识,你从一个带有返回值的方法看如下代码?其中<T>表示T类型,而Class<T> tClass中的Class表示类,意思就是getDao方法的参数就是T类型的类。

http://img1.sycdn.imooc.com//climg/5c6d3afd00016f4b04530058.jpg

而tClass就是参数,这里我们出入这里的可以任意一个类来获取该类的mapper。

2、它俩是一个作用,只不过使用的方法不同而已。祝学习愉快~


  • 提问者 一只勤奋的蜗牛 #1
    <T> T这个地方,可否只写<T>呢?
    2019-02-21 10:53:28
  • chrismorgen 回复 提问者 一只勤奋的蜗牛 #2
    你好同学,这里只能写T哦,'T' 是指在某一给定场合下一个接口的特定实现, 只能代表一个类型,祝学习愉快~
    2019-02-21 14:55:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师