2018-04-03

大家好,我是IT技能树赵伟鹏,我来用我自己的理解说下Mybatis 某些小问题,说的不对还请大家指出


1.关于mybaits 控制文件中连接方式的意义.

我百度了一下连接池的意思:下面用我自己的话理解一下.

       在我之前使用    JDBC     往数据库插入数据的时候, 用错了方法,  每执行一次  sql语句 ,就要取得和断开一次服务器的连接.当时是在远程服务器上构建连接,发现 执行sql语句 用5ms的时间,而取得在关闭连接,在加上 执行SQL语句就要花费3-5s的时间,当时只觉得慢,今天百度了一下.发现 如果一个网站 ,我们打开网页 就是相当于一次取得连接,而一个连接 要花费几秒钟,那好多用户都要操作,就要花费很久的时间,这样会让用户体验极差,可能还会让 电脑在不停的连接关闭之下崩溃....

2       所以就产生了一个连接池的概念

       连接池 顾名思义 ,就是一个包含了很多连接的池子,当我们想要获得一个连接的时候,就在连接池 取出一个连接出来,当我们在实现类写出sqlsession.close(),并不是关闭连接池,而是把该连接又放回了连接池,供其他方式(人)来调用.

       这里,就又出现了 sqlseeion, 他是又sqlseeionFactry创建出来了一个例子,它包含了 JDBC 中的connection  statement (连接,执行SQL语句)等,他是一个单线程操作.  

3       这里有出来了一个单线程和多线程.  我的理解是.....(在这里我皮一下)...

 关于单线程:当我想吃饭的时候,我只能用嘴吃饭....这就是单线程.

 关于多线程:当我想打师兄的时候,有两种方式:    *  我同时用拳头和脚打师兄   叫多线程.

*  或者是  我用拳头打师兄, 然后在用脚提师兄,拳打脚踢不能同时,但是可以通过不同方式.叫多线程


         不太明白,关于多线程到底哪个正确......少楠 师兄用代码给我说- -但是我不太懂,百度了一下,就是这两种答案的感觉

      再看深入一点的解释就不是特别懂了

       最后少楠师兄用电脑cpu来给我讲了一下,大概是说以前单核CPU时候 是没有 多线程的,但是我们能打开多个应用 却不觉得 他中断连接是因为, 各个应用是在后台断开连接的,只不过因为他刷新的很快,所以我们感觉不到.


2018-04-03_第1张图片


4.关于mybatis 注解.

红框标记的箭头所指就是Mybatis注解, 就是舍弃了 使用xml  上拼写sql语句来使用注解方式直接在   接口上每个方法上使用注解提供语句....  他会比  xml文件方便,而且在SQL语句比较简单的情况下,会让代码或者你的这个快看着比较简洁.但是一旦sql语句 复杂起来但是会让接口带看很乱不好看,不利于修改.....还需要单独创建一个 class 来放置复杂的 sql语句..

2018-04-03_第2张图片

    使用XML 来 写上sql 语句的话,一旦SQL语句复杂的话,我们只用添加不同的表情 对XML进行改变 不用去改变别的calss就好...,关于主注解的关键字      where  choose when set 等 都是需要记忆的东西.


2018-04-03_第3张图片

当我们使用注解方式sql语句的时候 就得加上 sessin.getMapper(接口.class)

你可能感兴趣的:(2018-04-03)