MyBatis框架的详解

一、MyBatis的介绍

  1. 在使用的时候,需要配置文件的方式告知框架需要的信息,多数会使用XML文件作为框架的配置文件。
  2. 框架都是由第三方提供的,提供的都是jar包。因此,使用框架前,必须将框架涉及的jar包导入项目中。
  3. MyBatis框架是:ORM框架,用于操作数据库,底层是对jdbc进行了封装。
  4. MyBatis 的前身是 iBatis, 是 Apache 下的一个开源项目,现在被迁移到了 GitHub 上.
  5. 写配置文件及入门MyBatis的中文网址:http://www.mybatis.org/mybatis-3/zh/getting-started.html
  6. 使用到的jar包,百度网盘链接:
  7. 其他框架:
    • Spring : 是一个容器;
    • SpringMVC:分层框架
    • Struts2:功能类似于SpringMVC
    • Hibernate : 功能类似于MyBatis

二、配置MyBatis的基本步骤

第一步:核心配置文件

  1. 核心配置文件,是一个xml文件,命名无要求,位置无要求。不过一般叫做mybatis.xml,放在src目录下。
  2. 使用官方提供的dtd约束,写核心配置文件
  3. 以下是官方提供的dtd约束,需要联网使用

    <!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-config.dtd">

    <configuration>

  4. 核心配置文件的书写在这里就不再多说了,具体的可以去参考MyBatis官网
  5. 关联映射文件(第二步中有介绍到):

<!-- 扫描mapper文件 –>

<mappers>

<mapper resource="com/bjsxt/mapper/UserMapper.xml" />

</mappers>

第二步:Mapper映射文件

  1. 在MyBatis中,推荐使用 mapper 作为包名, 我们只需要写一个映射配置文件即可。UserMapper.xml, 用于定义要执行的 SQL 语句, 同时设定返回结果的类型等等
  2. 需要注意的属性:
    • namespace: 命名空间, 可以随意定义, 一般情况下要写全限定路径  MyBatis管理SQL语句是通过namespace+id来定位的
    • resultType: 用于设定返回结果的类型(全限定路径)     如果返回结果是集合, 要写集合泛型的类型

第三步:编写测试代码

1、加载MyBatis核心配置文件     【InputStream is = Resources.getResourceAsStream("mybatis.xml"); 】

2、构建SqlSessionFactory工厂对象   【SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); 】

3、通过工厂打开SqlSession      【SqlSession session = factory.openSession(); 】

4、通过session执行查询操作     【 List<User> list = session.selectList("com.bjsxt.mapper.UserMapper.selAll");System.out.println(list); 】

5、关闭资源                           【session.close(); 】

三、使用MyBatis

  1. MyBatis的常用三个查询方法:
  • selectList:用于查询多条数据的情况, 返回值是一个 list 集合. 如果没有查到任 何数据, 返回没有元素的集合(空集合, 不是 null)

例子:【List<User> list = session.selectList("com.bjsxt.mapper.UserMapper.selAll");System.out.println(list);  for (User user : list) {

System.out.println(user);  }】

  • selectOne:用于查询单条数据的情况, 返回值是一个对象. 如果没有查到任何数据, 返回 null

例子:【User user = session.selectOne("com.bjsxt.mapper.UserMapper.selOne");  System.out.println(user)】

  • selectMap:用于查询多条数据的情况, 多条数据要形成一个 Map 集合. 需要指 定哪个属性作为 key. 如果查不到, 返回一个空 map 集合(不是 null)

例子:【 Map<Integer, User> map = session.selectMap("com.bjsxt.mapper.UserMapper.selAll", "id");  System.out.println(map);

Set<Integer> set = map.keySet();  for (Integer k : set) {   System.out.println(map.get(k));  }】

2.配置信息实现软编程(获取 properties 文件中数据时, 要通过${}的方式获取)

<!-- properties加载外部文件 –>

<properties resource="db.properties" />

3.<typeAliases>标签,起别名

<!-- typeAliases给类型起别名 –>

<typeAliases>

<!-- 给User类起别名为u –>

<typeAlias type="com.bjsxt.pojo.User" alias="u" />

</typeAliases>

<package>给整个包下的所有类定义别名为类名

<typeAliases>

<!-- 给包下的所有类定义别名为类名 –>

<package name="com.bjsxt.pojo" />

</typeAliases>

原文地址:https://www.cnblogs.com/cgntiger/p/11143474.html

时间: 2024-10-21 04:00:58

MyBatis框架的详解的相关文章

《深入理解mybatis原理》 Mybatis初始化机制详解

对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. 1.MyBatis的初始化做了什么 2. MyBatis基于XML配置文件创建Configuration对象的过程 3. 手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对象 4. 涉及到的设计模式 一. MyBatis的初始化做了什么 任何框架的初始化,无非是加载自己运行时所需要的配置信息.MyBati

深入浅出mybatis之启动详解

深入浅出mybatis之启动详解 MyBatis功能丰富,但使用起来非常简单明了,今天我们来追踪一下它的启动过程. 目录 如何启动MyBatis 如何使用MyBatis MyBatis启动过程 如何启动MyBatis 我们知道,SqlSessionFactory是MyBatis中最为核心的组件,每个基于MyBatis的应用都是以一个SqlSessionFactory实例为中心的.SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得,而SqlSess

《深入理解mybatis原理2》 Mybatis初始化机制详解

<深入理解mybatis原理> Mybatis初始化机制详解 对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. 1.MyBatis的初始化做了什么?2. MyBatis基于XML配置文件创建Configuration对象的过程?3. 手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对象?4. 涉及到的设计模式 一. MyBatis的初始化做了什么 任何

测试框架mochajs详解

测试框架mochajs详解 章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建议使用箭头函数 钩子函数 钩子函数的描述参数 异步的钩子函数 全局钩子 延迟启动测试 测试用例TODO 仅执行一个用例集/用例 跳过哪些用例集/用例 重新执行用例 动态生成用例 测试时间 测试超时 用例集执行超时 用例执行超时 钩子函数超时 diff差异比较功能 mocha使用命令和参数 mocha

Java集合框架Koloboke详解

Java集合框架Koloboke详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Koloboke的目标是替换标准的Java集合和流的API,提供更高效的实现.Koloboke目前的版本主要是替换java.util.HashSet和java.util.HashMap. Koloboke提供了一套完整的集合原始类型的实现,可以避免开销很大的装箱/拆箱操作,节省了原始类型装箱消耗的内存. 在Koloboke中,Has

S2SH框架集成详解(Struts 2.3.16 + Spring 3.2.6 + Hibernate 3.6.10)

近期集成了一次较新版本的s2sh,出现了不少问题,网上资料也是良莠不齐,有的甚至就是扯淡,简单的把jar包扔进去就以为是集成成功了,在这里整理一下详细的步骤,若哪位有什么不同看法,可以留言,欢迎批评改正. 首先说下集成的环境,Eclipse 4.4,Tomcat 7.0.54,Struts2.3.16,Hibernate3.6.10,Spring3.2.6 相关JAR包已上传至百度云:http://pan.baidu.com/s/1pJluA5l 搭建Struts2框架 1. 创建Java We

yii框架AR详解

yii框架AR详解 虽 然Yii DAO可以处理事实上任何数据库相关的任务,但很可能我们会花费90%的时间用来编写一些通用的SQL语句来执行CRUD操作(创建,读取,更新和删除). 同时我们也很难维护这些PHP和SQL语句混合的代码,要解决这些问题,我们可以使用Active Record.    Active Record(AR)是一种流行的对象关系映射(ORM)技术.每个AR类代表一个数据表(或视图),其字段作为AR类的属性,一个AR实例代表在表中的 一行.常见的CRUD操作被作为AR类的方法

Hadoop新MapReduce框架Yarn详解

简介 本文介绍了Hadoop自0.23.0版本后新的MapReduce框架(Yarn)原理,优势,运行机制和配置方法等,着重介绍新的yarn框架相对于原框架的差异及改进,并通过Demo示例详细介绍了在新的Yarn框架下搭建和开发Hadoop程序的方法.读者通过本文中新旧Hadoop MapReduce框架的对比,更深刻理解新的yarn框架技术与那里和设计思想,文中的Demo代码经过微小修改既可用于用户基于Hadoop新框架的实际生产环境. Hadoop MapReduceV2(Yarn)框架简介

5.MyBatis 全局配置文件详解(sqlMapConfig.xml)

1.1     Mybatis的全局配置文件 SqlMapConfig.xml是mybatis的全局配置文件.它的名称可以是任意命名的. 1.1.1 配置内容 SqlMapConfig.xml的配置内容和顺序如下(顺序不能乱): Properties(属性) Settings(全局参数设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境信息集合) environment(