代码小兵516
程序员
我们都知道,由于HTTP协议是无状态的协议,一次浏览器和服务器的交互过程就是:浏览器:你好吗?服务器:很好!这就是一次会话,对话完成后,这次会话就结束了,服务器端并不能记住这个人,下次再对话时,服务器端并不知道是上一次的这个人,所以服务端需要记录用户的状态时,就需要用某种机制来识别具体的用户,这个机制就是Session;服务端如何识别特定的客户?这个时候需要使用Cookie;每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端,用Cookie来实现Sessio...
从MyBatis开发步骤可以看出,MyBatis主要运用到了以下几个类1.SqlSessionFactoryBuilder每一个MyBatis的应用程序的入口是SqlSessionFactoryBuilder。它的作用是通过XML配置文件创建Configuration对象(当然也可以在程序中自行创建),然后通过build方法创建SqlSessionFactory对象。没有必要每次访问Mybatis就创建一次SqlSessionFactoryBuilder,通常的做法是创建一个...
问题描述:参数传递为List时:当传递一个List实例或者数组作为参数对象传给Mybatis。此时Mybatis会自动将它包装在一个Map中,用名称在作为键。List实例将会以“list”作为键,而数组实例将会以“array”作为键。所以,当我们传递的是一个List集合时,mybatis会自动把我们的list集合包装成以list为Key值的map。DAO层:List<User>selectUserByIDs(List...
1.一级缓存MyBatis默认开启了一级缓存,一级缓存是在SqlSession层面进行缓存的。即同一个SqlSession,多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。但是不同的SqlSession对象,因为不用的SqlSession都是相互隔离的,所以相同的Mapper、参数和方法,它还是会再次发送到SQL到数据库去执行,返回结果。2.二级缓存为了解决这个问题,需要手...