现在的位置: 主页 > 联系方式 > 文章列表

Mybatis 系列(1)—— JSP + Spring + Mybatis+Mysql

作者:北京东方雨泽科技有限公司 来源:www.dfyz6789.com 发布时间:2017-09-03 12:18:58
 

Mybatis 系列(1)—— JSP + Spring + Mybatis+Mysql 框架搭建

  小编也是忙里偷闲的学会java,用吃饭和睡觉前的时间看完了一个Mybatis的介绍,手痒痒的就练了练,学习的时间也不长,两天时间搭了一个框架,分享给大家。

  MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。之前学过了Hibernate,最近抽空学习了一下Mybatis,在两者直接做了简单的对比。


【Hibernate与Mybatis简单对比】

1.从查询语句上的区别。


  之前用Hibernate开发,都是用封装好的语句,完全没有sql的影子,都是调用的方法。但是如果是一些稍微复杂的sql,Mybatis会是一个好的选择。所以,从查询效率上来说,对于简单的查询,建议用Hibernate封装好的,这样 可以节省很多时间,如果你不建议会返回全部字段的话。。那么大一些的项目,或许会用到复杂的sql语句,Mybatis动手写还调整方便,看着也知道自己写的是个啥,不错的选择。


2.从对象管理机制角度考虑。


  用Hibernate 是完整的对象/关系映射,它提供了对象状态管理,使开发者不再需要理会底层数据库系统的细节。这样就是面向对象的方法把数据持久化到数据库中,不用管数据库里面的字段之类的内容。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。

  resultMap是MyBatis中最强大的元素,你可以比使用JDBC调用结果集省掉90%的代码。也可以让你做许多JDBC不支持的事。事实上,要写一个等同类似与交互的映射的复杂的语句。可能要上千行的代码。ResultMap的目的,就是这样简单的语句而不需要多余的结果映射。


3.缓存机制。


  Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载,属于多事务级别,要防止事务并发性。缓存是以map的形式进行存储的(key-id,value-object)。

  在Mybatis中,一级缓存是基于 PerpetualCache(mybatis自带)的 HashMap 本地缓存,作用范围为session,所以当session commit或close后,缓存就会被清空。二级缓存默认也是基于 PerpetualCache,但是可以为其制定存储源。一级缓存缓存的是SQL语句,而二级缓存缓存的是结果对象。

  Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行详细配置,然后再在具体的表-对象映射中配置是那种缓存。MyBatis的二级缓存配置都是在每个具体的表-对象映射中进行详细配置,这样针对不同的表可以自定义不同的缓存机制。




【JSP + Spring + Mybatis+Mysql 框架搭建】

1.建立一个web工程,引入需要的jar包,spring、mybatis和mysql


\



2.web.xml 配置


MyBatis_Spring3_Jsp index.jsp encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* contextConfigLocation classpath*:config/applicationContext.xml

org.springframework.web.context.ContextLoaderListener

org.springframework.web.context.ContextCleanupListener

mvc-dispatcher org.springframework.web.servlet.DispatcherServlet 1 mvc-dispatcher /

3. mvc-dispatcher-servlet.xml 文件配置


/WEB-INF/pages/ .jsp

4. spring applicationContext.XML文件配置




5. 添加Mybatis的配置文件configuration.xml




5. 编写controller 类,model类 等


UserController类:


package com.yihaomen.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.yihaomen.inter.IUserOperation; import com.yihaomen.model.Article; import com.yihaomen.model.User; @Controller @RequestMapping("/article") public class UserController { @Autowired IUserOperation userMapper; @RequestMapping("/list") public ModelAndView listall(HttpServletRequest request,HttpServletResponse response){ List articles=userMapper.getUserArticles(1); ModelAndView mav=new ModelAndView("list"); mav.addObject("articles",articles); return mav; } }


接口类:

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站开发 http://www.feimao666.com

  • 上一篇:将XML数据转换成HTML
  • 下一篇:最后一页
  •