00:00
好,那我们刚才呢,讲了my beities中该如何处理批量删除,然后下面呢,大家来看一下,我们来说一下这个my be中该如何动态设置表明啊,那什么叫动态设置表明呢?比如说我们的my circleq中啊,它一张表里面,然后有很多很多的数据。那如果我们的数据太多的话,它是不利于我们当前咱们买SQ的一个性能的,那所以说咱们为了提高性能的话,我们就可以将这一张表来进行水平切分,将它拆分成多张表共同来存储这一张表中的数据,那所以说我们现在咱们在查询数据,或者说我们在操作数据的时候,那我们所操作的这张表它是不一样的,虽然说咱们表里面存储的数据都是同一张表中的数据啊,那所以说我们现在操作的表不一样,那对于一个SQL语句来说,那这个表名咱们就需要动态来设置,那我们该如何动态来设置表名呢?大家来看,比如说我们在map接口中,咱们来写一个方法,叫做来查询指定表中的数据啊中的数据,OK。
01:12
好,然后下面大家来看,既然是查询功能,那我们当前咱们的方法名呢?咱们咱们当前返回值类型,咱们就来设置成list的集合,方法名咱们就叫做get user叫做by cablename什么意思?根据咱们的表名来查询用户信息,OK吧?所以说我们在这儿是不是需要把咱们动态需要查询的这一个表的名字作为参数传输到我们的映射文件中,那所以呢,我们在这加上一个命名参数,咱们就叫做table name OK啊。行,下面大家看我们把咱们的这个方法呢,放在我们的映射文件中,把相对应的circleql语句来写一下,那这呢是一个查询功能,那我们就要来设置result type,它叫做user,好,换句话来说,我们当前咱们的这个传输过来的参数要放在哪呢?要放在咱们表明的位置,Select星from t_U的,咱们原来是这样去写的,因为我们原来呢,咱们所操作的表是固定的,而我们现在操作的表不固定,那它由谁决定,由我们当前所传输过来的参数决定,那所以说我们在这儿是不是就需要通过井号大括号或Dollar大括号。
02:32
来动态获取咱们的表名,并且将它拼接到circle中了,对不对?那我们在这咱们应该用什么?大家想一下,我们能用井号大括号吗?我们原来在讲MY的时候,讲circleq语句的时候就说过啊,这个表明的话,它是不能加单引号的,然后我们的my circle里面什么可以加单引号,比如说咱们的这个字符串类型的数据对吧?比如说咱们日期类型的数据对不对?比如说我们当前咱们的字段名它都是可以加单引号的,但是我们的表名它可以加单引号吗?大家注意它是不可以的啊,比如说我们当前咱们就这样去写井号大括号,然后咱们就叫做table name,大家来看,那我们现在咱们的这个circle句它能够执行成功吗?来大家看好,来it test,然后public VO叫做test get user by table name。
03:32
好,然后呢,我们前两个步骤同样是获取circle session对象和我们当前的map对象,然后通过map来调用我们当前咱们的这一个方法,比如说在这咱们就传输过去一个T_U来获取我们当前咱们的list子的集合,然后把list的集合来输出,大家看这个S口L语句有没有问题啊。好,大家来看一下有问题没有,有,为什么?因为咱们在so语句中这个表名它是不能加单引号的,所以说在这呢,它就直接进行了报错,好那所以对于我们当前动态设置表明的这个操作,大家注意我们只能来使用Dollar大括号,而不能来使用井号大括号,所以说我们现在换成Dollar大括号之后,咱们再来一个直行,大家会发现,来大家看一下还有没有问题了,就没有任何问题了啊好,那所以说呢,这个是我们动态来设置表明,大家注意动态设置表和我们刚才咱们所讲的批量删除以及我们的模糊查询都属于一些比较特殊的折扣,因为我们在讲获取参数值的两种方式的时候,我们就说过,我们能用井号大括号的话,那咱们绝对不用倒着大括号,但是对于这三个S口语句的话,咱们用井号大括号是会出现一定的问题的。
04:59
所以说呢,大家要知道它会出现什么问题,当然大家更需要知道的是我们该如何去解决这个问题啊,好OK。
我来说两句