暑假的时候学习SSH三大框架,记得花了整整一个暑假才把他们学完,后来接触了Mybatis,听说易上手,所以就学习学习.,简单总结一些两者的区别吧:
1.两者最大的区别:
针对简单逻辑,Hibernate和MyBatis都有相应的代码生成工具,可以生成简单基本的DAO层方法。
针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。
2.开发难度对比
Hibernate的开发难度要大于Mybatis。主要由于Hibernate比较复杂、庞大,学习周期较长。
而Mybatis则相对简单一些,并且Mybatis主要依赖于sql的书写,让开发者感觉更熟悉。
下面是小编创建第一个Mybatis工程的过程:
1.命名过程
2.配置过程
1)在pom.xml中配置需要的Jar包
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<!-- junit测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- 日志文件管理包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
</dependencies>
注:java目录下存放实体类及以后的dao controller层
resources下存放各种配置文件 mybatis-config.xml里面的mappers路径要写对.
test下进行测试.
3.相关配置的具体代码
mybatis-config.xml
User.xml
test(注意路径)
User实体类
自此,让我们踏上Mybatis的慢慢摸索之路吧!
1.选择指定文件并显示路径图中“打开文件”按钮添加响应函数OnBnClickedButton1,用CFileDialog过滤文件类型并打开选择文件对话框,MFC提供的类CFileDialog只能用来打开文件。将选中的文件路径显示在Edit Control控件中void CTestSelectfileDlg::OnBnClickedButton1(){ // TODO...
一、开发环境安装 能够进行51单片机的集成开发环境比较多,比较常用的是Keil C51,可以从相应的网站上下载,如下图所示为Keil C51的安装文件点击“Setup.exe”,出现如下图所示的窗口。点击上图中的“Full Version”,出现如下图所示的窗口点击“Next”,出现如下图所示的窗口。点击“Yes”,出现如下图所示的窗口这个...
day01【Object类、常用API】主要内容Object类Date类DateFormat类Calendar类System类StringBuilder类包装类教学目标-[ ] 能够说出Object类的特点-[ ] 能够重写Object类的toString方法-[ ] 能够重写Object类的equals方法-[ ] 能够使用日期类输出当前日期-[ ] 能够使用将日期格式化为字符串的方法-[ ] 能够使用将字符串转换成日期的方法-[ ] 能够使用System类的数组复制方
view.post public boolean post(Runnable action) { //这个mAttachInfo只有在dispatchAttachedToWindow被赋 //值,所以这里假设还没绘制完成 final AttachInfo attachInfo = mAttachInfo; //这里是已经绘制完成了 if (attachInfo != null) { return
原文:https://blog.csdn.net/innovationad/article/details/74012292<table border="1"><tr><td>编号</td><td>id</td><t...
org.apache.pthrift thrift-plugin 0.1.10 SonaType Nexus上传自定义Jar包两种方式1.pom文件方式 1.1:在正常使用的maven工程中添加依赖,指定groupId,artifactId,version 1.2:编译加载至本地
http://blog.csdn.net/v_july_v/article/details/11921021已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。链表结点的结构类型定
5G网络的出现是科学技术发展的必然结果,能够使移动通信一直处在联网的状态下,因此,对于人们信息的收集和利用是非常重要的。而智慧交通体系的构建是需要利用互联网将交通数据转化为模型,从模型中来判断、分析交通的情况。因此,在智慧交通体系构建中运用5G网络技术,对于交通事业的发展有着重要的作用。5G网络及智慧交通(1) 5G网络5G网络是第5代移动通信技术的简称,其主要性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。其主要优势在于数据传输速率远远高于以前的蜂窝网络,并且响应
实现一个简单的windows TCP服务端#include <iostream>#include <chrono>#include <thread>#include <array>#include <io.h>#include <winsock2.h>#include <ws2tcpip.h>#pragma comment(lib, "ws2_32.lib")#define SO_OPENTYPE 0x70
和大多小白一样,第一次见到这个东西的时候觉得很简单,但实际操作起来还是要费些功夫的。主要是启动页消失时间不好判断,我这里是启动配置didifinishLaunch方法中window盖一张与启动图一样的图片,等到更新,广告请求信息都拿到后,去除添加的启动图。然后建议大家,在去除广告图之前window.rootVC随意设置为一个tempVC,等到去除启动图改变RootViewControl...
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用、WEB应用以及移动应用。然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug;在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。本文要来分享一些Java程序员最常用的Java日志框架组件。1、Log4j –最受欢迎的Java日志组件
洪水淹没模拟演示的步骤如下:(1)获取DEM模型;(2)利用ArcGIS的raster calculator工具进行分析,根据不同的高度生成洪水淹没模拟。1)原始DEM演示 2) 调用空间分析3)100米模拟4)200米模拟5)300米模拟6)400米模拟