00:00
好,接下来呢,我们来说马贝蒂斯中一块重要的内容。它的两个内置参数。也就是说,不只是我们方法传入的这个参数可以被用来进行判断和取值。不止是咱们这个方法。传递过来的咱们这个参数。可以为。用来。判断。或者取值。啊,等等操作还有两个MY,还默认还有两个参数。两个咱们这个内置的内置参数。哎,一个叫杠ter。另外一个叫。Space。ID。也就说呢,在任何情况下,这两个参数也都是呃,可以被拿来使用或者取值的。而杠per来说。
01:04
它是什么呢?哎哎,它是代表整个参数。记好是整个参数。什么叫整个参数呢?我们知道如果是单个参数。杠就是我们传过来的这个单个参数。就是这个参数。如果是多个参数,我们都知道多个参数,或者呢,某些情况我们这个参数会背。童装。一个慢。那么呢,我们这个。杠啊。就是代表。哎,反正呢,我们这个杠都是代表的,就是你方法传递过来的整个这个参数,未知的所有参数的几何。好。
02:00
那么接下来还有一个叫杠ID,它是M。如果配置了。配置了我们。ID provider标签。Provider标签。比如说呢,我们这个全局配置里边。哎,我们这个ID provider,我们配了它,那么的话呢,我们这个。哎,IID就会有值。就是代表。代表。当前。数据。的咱们这个别名。哎,我们来看啊,在这一块,因为我们都起别名了,哎,比如是Oracle。所以说呢,这两个哎永远也都是能用的哎。
03:01
我们呢,就以一个示例方法作为示例。比如呢,还是我们这个查询。查询员工。Getp,然后呢,我们是test啊,咱们这个in,我们两个内置的参数。好,我们把查询条件也封装进employee这个对象里边,然后我们再来判断。再来判断。来定义这个查询。这个查询方法是他。定义它。查询方法,然后呢,Result type返回值类型,哎,就是我们employee对象,我来复制过来。接下来我们来看现在我要做的判断,好,我们select,先,我们查询from TB。
04:06
Employee这张表。但是呢,这是MYSQL下,我们查的是这张表,而orac口下。我们查的是什么呢?我们查的是employees。这张表以前呢,我们要想在Oracle my circle啊,不同情况下查不同,我们这个方法得写两遍,还带一个ID来识别。接下来呢,我们就可以写一遍了,因为我们有这个配了ID provide。我们只需要做一个判断,如果你当前的database ID等于我们MYSQL,诶。我们MYSQL的别名,我们叫MYSQL,我们就来执行这条语句。如果。你当前的这个别名ID是O入口。我们就来。
05:00
执行这条语句,这样的话呢,我们这个方法就不用写两遍了,哎,通过德塔BID直接来鉴别。好,我们来测试一下。在这儿。好,我们来测试。我们叫test in。那么这一块呢,来把它传进来。好。把这两步获取circle session factory,再获取RC session,都先拿到好。Finally。接下来呢,我们从这个open session中,我们get member拿到我们这个employee,哎。动态这个。然后呢,我们来测试,我们来调用这个方法member。点,哎,我们这个查询。
06:02
Get e来测试咱们这。哪好,我们传入了employee对象,我们现在还没用employee对象,我们先传入进来。好,然后呢,我们把查询的结果打印。输出我们这个employ。现在呢,我们来运行这个方法,哎,我们来运行。最终把这个关掉啊,别忘了关掉。Close。我们当前数据库环境呢,我们来看一下,诶,我们当前切到了是Oracle,好,我们就先以Oracle为例来运行。走。好,查询出来,每一个值都封装出来了,在这。那接下来呢,我们来继续。我切到my circle。好,刚才查的那一堆是Oracle下的,我们再来切到马口走。
07:02
我们来看,诶,这是my circleq下的,哎,只有少量数据发的circleql,语句是这个t BL employee,而Oracle下我们再来切过来。他就发的是。哎,从Oracle的employees表查询,诶,Oracle数据比较多,哎。好多,哎,它就是这张表,所以说呢,这是它第一个内置参数杠per的使用,哎杠database ID。那么呢,我们来看啊,我查询的时候还想带条件。这些,Where?而我们希望的就是你EMPLOY1对象,你给我传了,我再来带条件,如果employee对象人家直接传为呢,你这个什么井号大括号取值,这就有问题了,所以说呢,我们在这一块我也可以加一个判断。继续。如果你传过来的employ employee不是呢?那么这个employee拿啥表示啊?我们任意写啥,写last name,这些都是取属性里的值。
08:04
所以说呢,我们就用杠ER,它就代表这个employee对象,如果杠perter不为空。我们就来查where。带上味儿,哎,比如呢,我们这个last name,哎,就等于你传过来的这。值。这个井号大括号拉是取出employee对象的值。当然了,这个取值你也可以写成杠perter点拉。因为ter表示的就是这个employee对象,好,我们来测试。测试,现在呢,是my circle吧,走。诶,现在这个还是Oracle环境,那么呢,我们这个Oracle下也一样,我把这个。诶,你带了employee对象了,哎,我再来给你,哎,取出last name的值。
09:04
来测试诶他没查出来,但是呢,这一块啊,条件是封装上,如果我这个employee我就传了一个呢。走。哎,如果就传一个呢,我们也看见后边的条件就没有,所以说呢,我们这个杠parameter有时经常会用来进行判断,如果我们少了这个判断。我把这个判断我注掉。我把这个判断我们不要了。不要这个判断。如果我不要这个判断,我直接来评威尔,在MYQ情况下啊,不管是什么情况,我直接就来获取拉斯name的值。哎,也就是杠p last name,我们来看会有什么效果。好。
10:00
哎,这是O入口来切到马色口。好。这个last name你看它传进来就是呢,哎,也就是说我们这一块呢,我们经常要来,可以进行一下判断,我这个参数你有了。要不然拿这个那有啥意义啊。你有了的话再来进行取值。好。这是咱们这两个杠和database ID的使用。
我来说两句