站点图标 江湖人士

MyBatis入门-教你如何与数据库更好交互

MyBatis入门-教你如何与数据库更好交互

这几天回首了下以前学的mybatis,特写这篇文章来总结一下,非手艺人员请绕道~

先来引见下Mybatis,它是appache下开源的一款持久层框架,通过xml与java文件的慎密共同,避免了JDBC所带来的一系列问题,好比sql硬编码问题,让我们更好地操作数据库,而且利于数据库的维护。

别的值得说的一点是,它与别的一个很是风行的持久层框架Hibernate的区别。Hibernate是一款完全的ORM框架,不需要法式员写sql语句,开辟效率高,可是因为sql优化起来坚苦,合用于需求变化不多的项目,如OA系统、CRM系统等。而MyBatis是一款不完全的ORM框架,它需要法式员去编写sql语句,对sql语句优化便利,合用于需求变化较多的互联网项目。

留意:若是我要点窜sql语句,岂不是要从头编译java文件?这很晦气于系统的维护。

b. 新建mapper、po包以及config文件夹,而且将config文件夹添加到工程情况里面。

承继Serializable是为了让其实现序列化接口,二级缓存不必然只具有于内存,如许便利到时候读取。

通过设置装备摆设文件生成流,通过流再生成sqlsession工场。通过工场再获取sqlsession,挪用sqlsession对象方式获取到UserMapper操作对象,如许就能施行内部的方式挪用sql语句。

3. mapper.xml与mapper.java必需在统一个包下,而且方式名、参数类型、前往类型必需逐个对应才能利用mapper代办署理。

操纵association和collection标签来进行延迟加载,提前还必需在设置装备摆设文件中开启开关。

一级缓存的每个sqlSession零丁一个存储区域,二级缓存多个共用一个存储区域,存储数据布局均为HashMap。

次要用到的是二级缓存。二级缓存是按照mapper的namespace划分存储区域的,若是两个mapper的namespace不异则共享一个二级缓存区域。

缓存若是放在一个零丁的办事器上,客户端毗连到别的一个办事器上(实在开辟情况必定不止一个办事器),就无法拜候到别的一个办事器的缓存,这时候需要有一个好的分布式缓存框架,如redis,memecache,ehcache。

这些缓存框架的特点:少量数据存储,高速读写拜候,数据分歧性包管,支撑k/v类型数据,NoSql。

数据库毗连以及mapper加载都放在了Spring的设置装备摆设文件里,所以这里不消写了。

简单来讲,先成立数据库表,按照数据表主动生成对应的mapper.xml与mapper.java文件,而且供给良多方式,很是便利。方式自行百度。为了快速建立工程,进修是必需的。

退出移动版