(一)初识mybatis
Mybatis
是现在很多公司都选择使用的一个ORM(Object Relational Mapping)框架,所以是值得了解和学习一番的。
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。(来自官方文档)
解释下上面这段话:
1.支持定制话SQL说明,使用mybatis程序员可以自己写sql语句,可以更好的优化SQL语句,相对Hibernate对sql的优化更方便.
2. 支持存储过程,就是在mybatis配置文件中进行了配置,在Java中就可以很方便的调用存储过程,如下配置,在Java中调用这个statement的id就可以调用到配置中的存储过程:
<insert id="CALL_INSERT_T_USER" parameterMap="insertParamterMap" statementType="CALLABLE">
{call test.adduser(?, ?, ?, ?, ?)}
</insert>
3. 高级映射就是相应的输入输出映射.
4. 避免JDBC的所有手动操作,即设置好对应的输入输出参数,就会返回相对应的设定对象 ; 并且框架处理了连接池,以及statement,结果集的的关闭.
5. 对配置和元素map使用简单的xml配置,下面举个例子:
a. 配置的statement
<insert id="INSERT_TABLE_T_USER">
insert into
t_user(name,age,sex,address)
values(#{name},#{age},#{sex},#{address})
</insert>
b. Java中的调用代码:
@Test
public void testMapParamert() {
Map<String, String> param = new HashMap<String, String>();
param.put("name", "zhangsan");
param.put("age", "18");
param.put("sex", "male");
param.put("address", "sichuanchengdu");
param.put("phone", "110"); SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.insert("INSERT_TABLE_T_USER", param);
sqlSession.commit();
}
这样直接设置参数到map集合中,map中的K值和配置文件中写的参数名相对应,就可以将相应的值设置进去; (我在工作中用的ibatis是这样用的 , 回来试了下mybatis也是支持的,不过一般其他公司不这样使用).
常用的ORM框架
市面上常用的ORM框架,有Entity EJB、Hibernate、IBATIS、TopLink、OJB 还有 Spring中的JdbcTemplate 等, 据我见过或者面试过的公司中基本都是Hibernate和mybatis,遇到过两家公司会使用的是spring的JdbcTemplate.
我在工作学习中主要用到和了解过的就orm框架是Hibernate和mybatis,现在简单的对比下两者:
mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。
是一个不完全 的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。
应用场景:适用与需求变化较多的项目,比如:互联网项目。
hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。
对sql语句进行优化、修改比较困难的。
应用场景:适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa等. (来自某培训单位老师)
spring的JdbcTemplate: 使用模板设计模式设计的一套操作数据的库的Jdbc工具类 , 由程序员来写sql以及输入输出参数进行映射,封装了获取数据库连接关闭资源等功能,以前大概看过现在都忘记了,后续有时间进行补充.
上面大概介绍了下mybatis是什么以及一些相关的东西,中间还夹杂了一些代码,如果没了解过mybatis的可以跳过其中的代码 , 学习了解过mybatis在来看上述代码(因为只做简单介绍所以代码中省略了一些次要的东西) .
(一)初识mybatis的更多相关文章
- 初识mybatis(二)
上篇博客我们介绍通过Java代码来创建mybatis的配置文件,港真,这种方式看起来有意思实际在开发中用的并不多,mybatis的配置还是以xml配置为主,本文我们就来看看如何通过xml文件来配置my ...
- mybatis入门--初识mybatis
初识mybatis 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. ...
- MyBatis For .NET学习- 初识MyBatis
MyBatis的框架. Introduction MyBatis本是apache的一个开源项目iBatis,2010年这个项目由 apache software foundation迁移到了googl ...
- 初识Mybatis之工程搭建
简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...
- MyBatis学习01(初识MyBatis和CRUD操作实现)
1.初识MyBatis 环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 什么是M ...
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- 初识MyBatis
ORM:对象关系映射,它只是一种规则. 像MyBatis,Hibernate对jdbc进行了封装. 第一章 回顾JDBC开发 1.优点:简单易学,上手快,非常灵活构建SQL(自己写的),效率高.2.缺 ...
- 初识Mybatis框架,实现增删改查等操作
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- Mybatis基础学习(一)—初识MyBatis
一.MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google co ...
随机推荐
- MVC文件夹及文件说明
一个典型的 ASP.NET MVC Web 应用程序的文件夹内容如下所示: 所有的 MVC 应用程序的文件夹名称都是相同的.MVC 框架是基于默认的命名.控制器写在 Controllers 文件夹中, ...
- Centos7.0 下挂载磁盘
参考:
- Webstorm 快捷键大全 整理收录
"工欲善其事,必先利其器" 作为一名开发人员,好用的工具能让你效率更高,剩下的时间用来偷懒吹牛逼吧... 以下整理Webstorm快捷键大全 Windows版本 注释(// 或 ...
- Windows Intellij环境下Gradle的 “Could not determine Java version from ‘9.0.1’”的解决方式
当我导入Gradle项目初试Java spring的时候,遇到下面报错: Gradle complete project refresh failed Error:Could not determin ...
- 深港澳大湾区第三次.NET技术交流会圆满成功
2017年12月10日,一场以云.devops.微服务.容器是现在这个发展阶段的软件形态, 本次活动我们围绕这些话题介绍.NET生态下的发展本地社区活动,这次活动还得到如鹏网杨中科老师的大力支持开通网 ...
- Dell poweredge r210进BIOS改动磁盘控制器(SATA Controller)接口模式
Dell poweredge r210进BIOS改动磁盘控制器(SATA Controller)接口模式 开机后按F2键进入BIOS设置,例如以下图: BIOS设置主界面: 使用上下键移动光标到&qu ...
- JAVA入门[6]-Mybatis简单示例
初次使用Mybatis,先手写一个hello world级别的例子,即根据id查询商品分类详情. 一.建表 create table Category ( Id INT not null, Name ...
- 知乎APP---案例分析
产品: 这次我选择用来做案例分析的是--知乎. 知乎可以说是中文互联网最大的知识社交平台,拥有认真.专业和友善的独特气氛,分享用户间彼此的专业知识.经验和见解.因而在日常生活中,我用知乎搜索答案的概率 ...
- IDEA+PHP+XDebug调试配置
XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xde ...
- Intellij IDEA 4种配置热部署的方法
热部署可以使的修改代码后,无须重启服务器,就可以加载更改的代码. 第1种:修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源 菜单Run -> EditConfiguration , 然后 ...