一、Mybatis简介
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。
Mybatis的框架结构分为三层:
1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
3) 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。
为上层的数据处理层提供最基础的支撑。
Mybatis整体流程
二、Mybatis实例:
(1)前期准备
1、安装JDK,并配置环境变量,可以参考
http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
2、安装MySQL数据库,可以参考http://www.duote.com/tech/1/2430_1.html
3、安装eclipse,任意版本都可以
4、用eclipse连接MySQL
我的环境:MySQL:mysql-essential-5.1.51-win32
JDBC驱动下载地址:http://download.csdn.net/source/3451945
eclipse连接MySQL方法可参考:http://database.51cto.com/art/201107/278955.htm
(2)环境搭建
1、JAR包下载:Mybaits下载,并解压到相应的路径
https://github.com/mybatis/mybatis-3/releases
2、创建JAVA项目
3、添加相应JAR包
操作如下:右键项目----->build path----->Add External Archives ,选择相应的JAR包
4、创建数据库和表,针对MySQL
CREATE TABLE GOODS(
ID varchar(10) PRIMARY KEY,
CATE_ID INT,
NAME VARCHAR(50),
PRICE DECIMAL(16,2),
DESCRIPTION VARCHAR(100),
ORDER_NO INT,
UPDATE_TIME TIMESTAMP
);
数据库初始化,插入数据
NSERT INTO GOODS(ID,CATE_ID,NAME,PRICE,DESCRIPTION,ORDER_NO,UPDATE_TIME)
VALUES ('001',1,'苹果6',4999,'全新大屏',1,CURRENT_TIMESTAMP);
INSERT INTO GOODS(ID,CATE_ID,NAME,PRICE,DESCRIPTION,ORDER_NO,UPDATE_TIME)
VALUES ('002',1,'华为荣耀6',2399,'高清相机满足你自拍',2,CURRENT_TIMESTAMP);
5、在src目录下创建一个configuration.xml文件
(说明:一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。SqlSessionFactory对象的实例可以通过
SqlSessionFactoryBuilder对象来获得。SqlSessionFactoryBuilder对象可以从XML配置文件中构建SqlSessionFactory对象。
XML配置文件包含对MyBatis系统的核心设置,包含获取数据库连接实例 的数据源和决定事务范围和控制的事务管理器。)
configuration.xml文件内容如下:
6、创建于数据库表所对应的实体类Goods
7、创建一个接口GoodsMapper
8、定义表Good的SQL映射文件GoodMapper.xml,内容如下:
9、在configuration.xml文件中注册GoodsMapper.xml文件
10、编写测试用例,执行SQL语句
11、执行结果
12、附件