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. 201604-2 俄罗斯方块 Java

    大家谁能帮我看看是哪里不对,提交到系统中是0分,在Eclipse中可以得出例子中的结果 思路: 题目中有两个关键点:如何模拟下落的过程,如何判断方块下落在哪里停止. 在数据的存储上,需要保存整个&qu ...

  2. oracle sql语句学习(一)

    oraclexe 11.0.2.0 输出到文件 SQL>spool /*完整路径*/; SQL>spool off; 多表自然链接 select spj.sno from spj join ...

  3. 使用tcpdump查看HTTP请求响应 详细信息 数据

    安装tcpdump: sudo yum install tcpdump 查看get请求: tcpdump -s 0 -A 'tcp dst port 80 and tcp[((tcp[12:1] &a ...

  4. linux服务器开放防火墙和端口,以及查询状态

    自己搞一个自己网站时候,购买的阿里云服务器,发现部署项目访问不到,首先需要确认入站规则是否配置. 一.安全组列表添加 1.打开安全组列表 2.添加入站规则 3.添加安全组规则 二.通过防火墙,开启端口 ...

  5. Django知识点_梳理

  6. 吴裕雄--天生自然 JAVA开发学习:封装

    public class Person { private String name; private int age; } public class Person{ private String na ...

  7. cf F. Shovels Shop

    https://codeforces.com/contest/1154/problem/F 给定m个折扣 每个折扣的{x,y}的意思是每次购买如果买到确切的x只铲子就其中的最便宜的y只铲子免付: 先贪 ...

  8. [tire+最短路]Bless You Autocorrect!

    [tire+最短路]Bless You Autocorrect! Typing on phones can be tedious. It is easy to make typing mistakes ...

  9. The website is API(2)

    一.Beautifu Soup库 from bs4 import BeautifulSoup soup = BeautifulSoup(demo,"html.parser") Ta ...

  10. CI_CD(jenkins)公司实战_未完成版

    环境准备 #三台服务器,不同的ip centos   镜像时:CentOS Linux release 7.6.1810 (Core) gitlab-ce 版本是:11.11.3 jenkins   ...