网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
文章目录
Mybatis对象分析
1)Resources类
Resouces类就是解析SqlMapConfig.xml文件,创建出相应的对象
InputStream in = Resources.getResourceAsStream(“SqlMapConfig.xml”);
我们要想解析配置文件,首先就要拿到配置文件,在对其解析。
Resouces类就是资源类,通过他的getResouceStream()方法可以获取配置文件,并且可以很>方便的返回流对象。
2)SqlSessionFactory接口
使用ctrl+h快捷键查看本接口的子接口及实现类
DefaultSqlSessionFactory是实现类
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
我们通过本方法传入获取的配置的流,就可以通过工厂建造器创建对应的工厂了,
但是注意这个对象可是很占内存的,我们使用工厂建造出来SqlSession对象以后就要立马关闭哦,不然在高并发的场景下,你的服务器会冒烟滴!!!
3)SqlSession接口
DefaultSqlSession实现类
这个接口就是我们要使用的接口啦,当然他的实现类是DefaultSqlSession类。
这里使用了多态哦,接口指向实现类呢。
那么这个对象就可以直接编译并且执行我们保存好的sql语句啦,也包括返回数据哦!!!
为实体类注册别名
不知大家有没有跟着我写一遍呢,写过的小伙伴会发现有个问题会很繁琐。直接上图
我们才做了几个功能,返回类型就写了那么多次一样的,是不是很繁琐呢??
那么我们就来简化它
单体注册
我们在SqlMapConfig.xml文件中添加
<!--为实体类注册别名-->
<typeAliases>
<typeAlias type="com.longlong.pojo.Student" alias="Student"></typeAlias>
</typeAliases>
批量注册
我们在SqlMapConfig.xml文件中添加
这里需要注意的是,我们使用包名批量注册后,默认的返回类型一定要遵守
驼峰命名法
,不然会找不到哦!!!!
在工作中实体类很多,本方法比较常用哦
这样一来,我们再写返回的实体类型就只写注册完的简写哦。
设置日志输出
我们可以来看一看不加日志输出的时候
我们只能看到结果,并看不到执行的什么代码
那么我们来加上日志输出看一下效果吧!
一定要看好是在哪个文件里添加的哦,小伙伴们想一想,这个日志是全局控制,自然要添加在…xml文件是吧!!!没猜出来的小伙伴看截图哦!!!!
<!--设置日志输出底层执行的代码-->
<settings>
<setting name="logImpl" value="STDOUT\_LOGGING"/>
</settings>
我们来看一下效果哦
增加了许多吧,语句和结果是不是很清晰呢。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!