MyBatis是一个数据持久层(ORM)框架。把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现。MyBATIS需要开发人员自己来写sql语句,这可以增加了程序的灵活性,在一定程度上可以作为ORM的一种补充。

什么情况下不适合全自动化框架:

1)系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开;

2)开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定);

3)系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

MyBatis基本要素:

1.  configuration.xml 全局配置文件

2.  xml映射文件(mapper)—实体类

3.  SqlSession接口

使用准备工作:

1.  需要的jar包:mybatis-3.2.2.jar,mysql-connector-java-5.1.26-bin.jar;

2.  在eclipse中添加相关的dtd文件(XML Catalog): mybatis-3-config.dtd,mybatis-3-mapper.dtd,方便创建xml配置文件,注意dtd文件不要放在中文目录下;

Key:-//mybatis.org//DTD Config 3.0//EN

-//mybatis.org//DTDMapper 3.0//EN

3.  创建核心配置文件mybatis.xml,放在src目录下;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>
<!-- 类型别名设置 -->
<typeAliases>
<typeAlias alias="Stu" type="com.it.entity.Stu"/>
</typeAliases>
<environments default="xx">
<environment id="xx">
<!-- 事务管理 -->
<transactionManager type="jdbc"/>
<!-- 数据库连接池 -->
<dataSource type="pooled">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="ok"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 对应实体类的映射文件路径 -->
<mapper resource="com/it/entity/Stu.xml"/>
</mappers>
</configuration>

4.  创建实体类(POJO)--Stu.java

5.  创建与之对应的映射文件Stu.xml,与实体类在同一个目录下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="stu">
<select id="findAll" resultType="Stu">
select * from stu
</select>
</mapper>

6.  创建测试类

public class Test {

	public static void findAll() {
try {
Reader reader = Resources.getResourceAsReader("mybatis.xml");
// 工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
.build(reader);
// session
SqlSession session = factory.openSession();
List<Stu> ls = session.selectList("stu.findAll");
for (Stu s : ls) {
System.out.println(s.getSid() + "\t" + s.getSname() + "\t"
+ s.getSsex() + "\t" + s.getSbirth());
}
// close
session.close();
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String[] args) {
findAll();
} }

MyBatis基本使用步骤的更多相关文章

  1. mybatis逆向工程使用步骤详解

    使用mybatis生成逆向工程的详细步骤,我个人感觉这个是最简单的一个了,虽然网上有很多种的方法来生成逆向工程,可是这个方法最简单.在这里我是使用maven搭建的环境,但是在正常的环境下也是一样的.步 ...

  2. mybatis 反向生成步骤

    Mybatis 反向生成. 反向生成的步骤: 反向生成的文件 打开文件夹显示 3.打开generator.xml文件 更改配置信息  路径一般情况下用英文  中文的路径有些会识别不了  或产生乱码 4 ...

  3. IntelliJ IDEA 2017 MySQL5 绿色版 Spring 4 Mybatis 3 配置步骤详解(二)

    前言    继续上一篇安装教程 首先是MySQL绿色版安装之后其他组件安装,如果篇幅较长会分为多篇深入讲解,随笔属于学习笔记诸多错误还望指出 共同学习. MySQL 5.7 绿色版   我本地安装的是 ...

  4. 【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤

    一.整体概览 首先看maven工程的创建 二.各层的文件配置 2.1,SSM父工程 <span style="font-family:KaiTi_GB2312;font-size:18 ...

  5. Mybatis使用pageHelper步骤

    1.在pom.xml中添加如下依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artif ...

  6. MyBatis的使用步骤及配置

    1.导入mybatis的jar包:mybatis-x.x.x.jar 2.使用XML配置mybatis,创建SqlSessionFactory XML配置文件的名称通常为mybatis-config. ...

  7. mybatis 简单项目步骤

    mybatis.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configura ...

  8. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  9. 从头开始搭建一个mybatis+postgresql平台

         最近有个项目的数据库使用postgresql,使用原生态的mybatis操作数据,原生态的没什么不好,只不过国内有个tk.mybatis的工具帮助我们做了很多实用的事情,大多数情况下我们需要 ...

随机推荐

  1. 17。3.12---re模块--正则表达式操作指南

    1----python re模块(Regular Expressioin正则表达式)提供了一个与perl等编程语言类似的正则匹配操作,他是一个处理python字符串的强有力的工具,有自己的语法和独立的 ...

  2. macos上命令行查看磁盘序列号

    收集到两种命令行获取方法:(另外https://www.maketecheasier.com/find-mac-serial-number/中还说明了GUI模式下的查看方法) 1.system_pro ...

  3. kafka Poll轮询机制与消费者组的重平衡分区策略剖析

    注意本文采用最新版本进行Kafka的内核原理剖析,新版本每一个Consumer通过独立的线程,来管理多个Socket连接,即同时与多个broker通信实现消息的并行读取.这就是新版的技术革新.类似于L ...

  4. numpy(一)

    ndarray np的一个核心类,它描述了相同类型的“项目”集合.可以使用例如N个整数来索引项目.每个项目占用相同大小的内存块, 并且所有块都以完全相同的方式解释. 如何解释数组中的每个项目由单独的数 ...

  5. 连词词组|relax|brings about a rise in|Chance are (high)that|Have no clue|Be passionate about|Tedious|overwhelmed by piles of

    efficient有效率的 effective有效果的 Make sb. Do Stuff没有复数 首先的三种表述:First off=To begin with=For starters 其次:Ad ...

  6. Tensorflow学习教程------tfrecords数据格式生成与读取

    首先是生成tfrecords格式的数据,具体代码如下: #coding:utf-8 import os import tensorflow as tf from PIL import Image cw ...

  7. springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+freemarker+layui

    前言: 开发环境:IDEA+jdk1.8+windows10 目标:使用springboot整合druid数据源+mysql+mybatis+通用mapper插件+pagehelper插件+mybat ...

  8. feign声明式客户端

    参考地址: https://blog.csdn.net/qq_30643885/article/details/85341275 Feign是一个声明式的Web服务客户端,使得编写Web服务客户端变得 ...

  9. 刷题41. First Missing Positive

    一.题目说明 题目是41. First Missing Positive,求一个未排序队列中缺失的最小正整数.时间复杂度要求是O(n).难度是Hard,确实难. 二.我的解答 不考虑时间复杂度,首先对 ...

  10. 给select赋值之后,再点击选择下拉值时,显示一值不变的解决

    在一个项目需求中,请求数据,得到的数据dataAll渲染到页面的select下拉表单中,当时是需要一进页面就要默认选中第一个选项,所以直接将dataAll的第一个索引值赋值给了表单的绑定值formVa ...