00:00
行啊,我们把这两种版本的这个hello word我们都写了,哎,最后一个呢,我们是利用嗯接口式编程,那么上一个呢,也是我们my be,他以前啊都是这么用的,这是老版本,可能MY老用户更习惯习惯于这个版本。但是呢,我们最终推荐都是使用我们这个接口式编程,因为它有诸多的优点,比如我们这个解耦,还有更安全的类型检查,所以说呢,我们都来去用接口编程就行了,好,这是第一点,接口式编程。接口是。编程好,我推荐使用它,那在接口式编程的时候呢,我们写了一个叫。我们以前呢,是do接口对应一个接口的实现类。而现在呢?我们用MY以后这是我们原生的方式。
01:03
我们用马斯以后呢?哎,就改变了这种格局,我们先有了这个接口,哎,比如一个do接口,而我们这个接口名呢,都叫什么什么map好都一样。只是一个名而已,然后呢,我们这个map呢,这个接口我们并没有去写一个实现类,而是有一个与之对应的。配置文件。这个配置文件呢,就相当于是对这个map的一个实现,那完了以后呢,这是我们大家要注意的地方,第二点。我们也发现,在写的整个过程中,有一个非常重要的对象,就是这个CI。这个circle session呢,它代表和数据库的一次绘画,我每次要执行增删改查,不管你是调circle session的原生API,还是呢,我们获取到这个接口的时间类,反正呢,我们就是用这个circle session一直在操作数据库。
02:08
他呢,就带着和数据库的一次汇款。我们是调用circle session.open session获取到的,然后呢,用完也必须关掉。用完。用完必须,哎,咱们这个关闭,哎这个资源呢,我们需要释放,另外我们得说一下这个CIRC对象跟我们的connection一样,哎,所以它底层就是拿到一个connection和connection一样,然后呢,它都是它都是非线程安全的。非咱们这个线程。安全的,那么非线程安全的话呢,我们就不可以把它,比如呢,我们来写成一个这个成员变量,哎,放在这儿,我写一个s session,我们不能去写它,因为它不是线程安全的,这种写法在多线程环境下产生资源竞争,有可能呢,A线程把这个SQ session用了给关了,你B线程也还拿来用,所以说呢,我们来说一下,它不是线程安全的使用啊,每每次使用,每次使用我们都应该都应该去获取新的对象。
03:27
不要把它放在咱们这个共享的成员变量中,好,这个大家来注意一下。第四点,我们在写hello word的时候,我们也发现,虽然我们这个接口没有实现类。但是我们这个,但是。My baby。不一定是。但是会为这个接口,会为咱们这个接口。生成一个,生成一个代理对象。
04:03
也就是说呢,我们最终。调用CIRC session get member哎,我们调用了这个circle session get member方法传入我们这个接口的时候,Employ点。返回的呢,还是这个。接口类型的对象,但是拿到的是好,我们就叫EP,拿到的呢是呢我们这个代理对象,而这个代理对象的产生,我们肯定是将接口和插文件绑定起来了。将接口和场面进行绑定以后,我们马贝蒂就会为这个接口生成一个代理对象,后来呢,我们在源码里边也得研究一下生成的这个代理对象,大家在这注意一下。另外我们再来看最后一点。
05:00
最后一点,比如说呢,这些我们都写完以后,大家一定记着有两个重要的配置文件。诶,一个呢,是我们称为马斯的。全局配置环境。那么在这个配置文件里边呢,包含咱们这个数据库数据。连接池、信息以及事务管理器。信息等啊包含了很多咱们这个系统的系统运行环境。信息来,我们来看到这个全局配置文件的时候,它这有配过数据源,哎,这data source翻译过来就是数据源,还有这个什么事务管理器,但是他们究竟是怎么样子,我们后来再去研究好。这是第一个配置文件,第二个配置文件就是我们所谓的SQL映射文件。
06:06
这个文件呢是至关重要的,我们知道MY都可以没有这个全局配置文件,因为hello word的时候,诶,我们来打开这个官方文档,Hello word。它提示你可以不用,哎,在getting start,我们写的是用配置文件的方式构建出session factor对象的,而人家下边也有不用配置文件的方式,把我们要用的对象,人家都是用出来,然后呢,放进s session factor里边。比如说呢,我们这个都可以没有,但是呢,它一定包含了一些系统的运行信息,而我们这个SQ映射文件它是一定要有的,它里面保存了每一个circle circle语句的映射信息。映射。
07:00
映射映射信息,也就是说呢。我们在这个文件中写的每一个SQL语句A。它的唯一标识是什么,包括这个SQL语句运行完后返回的结果是什么等等,这些信息我们都写的啊,非常全都在这里,而马整个执行曾根山改查也是按照我们circle映射文件的配置来执行的,所以说呢,MY贝蒂就是通过这个映射文件将咱们这个circleq抽取了出来。哎,将我们关键的部分。抽取出来交给我们啊,不像哈ne那样全自动的啊,一切都是黑箱操作,诶我们这一块呢,到底circle怎么发的,我们都知道,每一个方法circle怎么发,我们都是在这配置好的,行,这是我们这个hello word,大家呢,下边再来体会一下。
我来说两句