MyBatis入门
2015-07-06 00:37
351 查看
一、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、附件
Mybatis.zip
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、附件
Mybatis.zip
相关文章推荐
- linux 启动oracle报cannot restore segment prot after reloc: Permission denied
- 如何监控Tomcat服务器
- 跟着实例学习设计模式(1)-单例模式(创建型)
- java 时间相关的类互相转换
- 在visual studio 2013中编译Lua5.3.1
- volatile的使用
- C++调用JS,可变参模板实现,方便调用(cocos2d-x)
- Android Framework应用框架层和HAL硬件抽象层以及Linux Kernel底层之间的关系
- OOP in JS - Inheritance
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第十章 变量和数据类型
- 简单的NHibernate学习笔记
- Vim技巧之四大模式_普通模式
- 动态页面静态化的实现
- 用react native 做的一个推酷客户端
- 论公司间的开发合作
- windows 2003建立RAID-0 RAID0-1 RAID-5 卷。(vmware环境)
- 第一帖,发个网页版的别踩白块
- 不用任何math方法,实现四舍五入(新浪微博面试题)
- Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第九章 多态,动态类型和动态绑定