SSM(Spring+SpringMVC+MyBatis)框架为当今最为流行的WEB开发框架之一,基本上涉及数据库的一些增删改查操作都可以借用此框架,本尊此前接的一个小公司关于楼宇空调监控指标的项目就是基于此框架,只不过当时框架已经被别人搭建好,只等我去添砖加瓦,并没有从头开始对此框架进行着手搭建.从今天起,一边查资料,我一边分享下从基础开始学习SSM框架的历程,网上很多视频教程都是收费的,我就忍心割肉看一下,然后为大家总结下,想学的朋友可以和我一起讨论。可以这么说,学会了此框架,50%的小公司WEB项目都可以去接了......

  首先我们先来解释一下SSM的含义,然后今天着重介绍下MyBatis的环境搭建,实现单表的增删改查动作.

  Spring: 

  Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

  SpringMVC:

  Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

  MyBatis:

  MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

  好了,解释完基本概念后,肯定似懂非懂,没关系,概念嘛,看一看了解就可以了.下面我们开始Mybatis的环境搭建.

  1)Eclipse创建一个Java project:

  

  2) 百度搜索关键字“MyBatis”,进入官网,下载最新版本的mabatis和mysql的jar包,并导入eclipse。本尊用的是这两个jar包:

  3)编辑Mybatis配置文件,在src目录下创建一个名为mybatis-cfg.xml的配置文件,内容如下(可从Mybatis官网上直接复制粘贴):

  

  具体标签我就不解释了,我们只需要注意几个重要的:

  <properties>:resource为参数配置文件的名字;

  <environment>:id即为数据库的名字;

  <mappers>:为后面定义的接口文件,后面再作解释;

  4) 配置数据库配置文件jdbc.properties

  

  5)或许我们可以把SQl语句直接写进xml配置文件,那样也能得到结果,但不是最好的,这里我跳过了前面几个步骤,直接用最为符合Java编程习惯的接口映射注解的方法:

  5.1)数据库我已经创建好了表(users)和字段,并添加了内容:

  

  5.2) 添加bean来作为数据库数据传递的对象:

  

  

  5.3)创建接口来实现增删改查方法:

  

  

  5.4):创建SqlProvider来作为编写SQL语句的场所,注意方法名要对应上!

  

  

  5.5):好了,写了那么多的配置和输出文件,那么最后一步就是编写驱动MyBatisUtils来让Mybatis访问数据库(官网也可以查到):

  

  

  注意:resource即为配置文件的名字,.build的第二个参数为数据库名字。

  6)大功告成,我们可以编写一个Junit Test来测试下我们的Mybatis好不好用:

  

  

  首先取到session并建立连接,然后将我们的接口UserMapper注入到session中,最后调用接口里面的方法来实现增删改查,当然,SQl语句我们都已经提前写好了并放在SqlProvider里了,运行一下结果:

[User [id=1, userName=eric, userPwd=111], User [id=2, userName=tony, userPwd=222], User [id=4, userName=Jeff, userPwd=12345], User [id=6, userName=Tom, userPwd=12345], User [id=8, userName=cat, userPwd=888]]

  输出了正确的结果。好了,这样Mybatis就算配置成功了。实现了单表的增删改查,接下来我们还会逐渐增加深度,从表结构以及多对映射的角度来更深入探讨Mybatis! 

  

  

  

转载于:https://www.cnblogs.com/eric-wang/p/7605474.html

SSM框架的搭建学习(1)---MyBatis的环境搭建相关推荐

  1. 超详细整合SSM框架--(Spring + Spring MVC + MyBatis)

    超详细整合SSM框架--(Spring + Spring MVC + MyBatis) SpringMVC框架--文章跳转 Spring框架--文章跳转 Mybatis框架--文章跳转 整合思路 设计 ...

  2. 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...

  3. OpenCV学习1--介绍与环境搭建

    OpenCV学习1--介绍与环境搭建 PS:安装过程中的一些总结和教训 安装文件夹里的V11对应的是VS2012版本,V14对应的是VS2015版本,所以使用VS2012的人可能无法使用opencv3 ...

  4. DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)

    DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu) 目录 1.安装nvidia驱动 2.安装CUDA ...

  5. mybatis的环境搭建及如何和搭配spring使用

    本次博客主要介绍mybatis的环境搭建及如何和搭配spring使用,关于动态sql的部分可能会放在后面找一个专题来写.建议要有一定的ibatis的基础 1maven组织结构所需要的jar包 01 & ...

  6. Ionic 学习笔记之-痛彻心扉的环境搭建

    Ionic 学习笔记之-痛彻心扉的环境搭建 最近在学习Ionic 做多平台的应用.跨平台应用.就是用html写的界面.js实现逻辑. 在学ionic之前选了各种跨平台APP开发框架.最后选择了ioni ...

  7. 基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建

    基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建 文章目录 基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建 一.环境搭建 1.虚拟机Ubuntu系统安装 2.dock ...

  8. OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7866 ...

  9. 深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动

    前几天把刚拿到了2台GPU机器组装好了,也写了篇硬件配置清单的文章--<深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装>.这两台也在安装Ubuntu 16.04和108 ...

最新文章

  1. 人工智能和机器学习领域有哪些有趣的开源项目
  2. python爬虫入门教程--快速理解HTTP协议(一)
  3. [51nod] 1766树上的最远点对 树的直径 树剖LCA+ST表静态查询
  4. BZOJ 2073: [POI2004]PRZ( 状压dp )
  5. Clinicast让癌症治疗不那么昂贵
  6. angular2.0学习日记1
  7. 【蓝桥杯】基础练习 十进制转十六进制
  8. oracle传date参数十二小时,Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示...
  9. rocket mq 监听端口_MQ消息最终一致性解决方案
  10. xml转换为json格式时,如何将指定节点转换成数组 Json.NET
  11. 关于ODOO中高级视图的看板案例错误
  12. 部署在IIS服务器的asp.net 网站,禁止访问指定类型文件
  13. 20200815每日一句
  14. php 命令安装tp5,tp5.1框架的下载与安装方法步骤(图文)
  15. SVN Cleanup之后显示Skipped remains conflicted
  16. 工业级POE交换机、企业级交换机、普通交换机之间各区别?
  17. 日期比较(substring split prase)
  18. 四大新品齐发:荣耀打造无缝智慧全场景生态
  19. cocos2d-x 禁用触摸
  20. HTML前端常用(必记单词)

热门文章

  1. 壊小子的学习【日常阅读篇】(三)常规学习类图书
  2. http 断点续传,Windows下HTTP方式单线程下载
  3. SharePoint里如何设置People picker值为当前登录用户值
  4. Java异常处理001:Maven clean package时Failed to clean project: Failed to delete
  5. 并发编程(十六)——java7 深入并发包 ConcurrentHashMap 源码解析
  6. github 如何设置项目的语言显示
  7. web框架-Struts开始
  8. Emulator Error: Could not load OpenGLES emulati...
  9. web前端开发之div+css教程精华收集二
  10. linux 笔记之一mysql源码包安装