Mybatis(一)
来源:互联网 发布:优质的企业排名优化 编辑:程序博客网 时间:2024/06/05 17:49
Mybatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化ORM实现,其封装性要低于Hibernate。主要思想是将程序中大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。这样做使得SQL与程序代码分离,可以不修改程序代码直接在配置文件修改SQL。
数据持久化:
将内存中的数据模型转换成存储模型,以及将存储模型转换为内存中的数据模型的统称(数据模型、存储模型的互相转换)。例如:文件的存储,数据的读取都是持久化操作。
ORM:
ORM(Object/Relational Mapping)即对象关系映射,是一种持久化技术,在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,通过JavaBean对象去操作数据库表的数据。
Mybatis是一种半自动化的ORM实现,通过简单的XML或者注解进行配置和原始映射,将实体类和SQL语句之间建立映射关系。
Mybatis环境搭建:
1.下载jar包
2.部署jar包
3.编写Mybatis核心配置文件(mybatis-config.xml)
4.创建实体类
5.创建Dao接口
6.创建Sql映射文件
7.编写测试类
1.下载jar包
2.部署jar包
mybatis-3.2.2.jar
mysql-connector-java-5.1.0-bin.jar(MySQL数据库驱动文件)
log4j-1.2.17.jar(负责日志输出)
3.编写Mybatis核心配置文件(mybatis-config.xml)
配置数据库连接和MyBatis运行所需的各种特性,包含了设置和影响MyBatis行为的属性。mybatis-config.xml建立在resources文件夹下,具体配置如下:
<?xml version="1.0" encoding="UTF-8"?><!-- 提示信息(需要配置DTD文件) --><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- 配置文件根节点configuration --><configuration> <!-- 引入database文件 --> <properties resource="database.properties"/> <!-- 配置MyBatis实现为log4j --> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <!-- 配置MyBatis多套运行环境 --> <environments default="development"> <environment id="development"> <!-- 配置事务管理,才用JDBC --> <transactionManager type="JDBC"></transactionManager> <!-- POOLED:MyBatis自带的数据源,JNDI:tomcat的数据源 --> <dataSource type="POOLED"> <!-- 注意name里的格式固定不能改,value对应database里的命名 --> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!-- 将一个或者多个mapper文件加载到配置文件中 --> <mappers> <mapper resource="user/dao/UserMapper.xml"/> </mappers></configuration>
4.创建实体类
5.创建Dao接口
MyBatis一般采用POJO编程模型来实现持久化类,POJO(Plain Ordinary Java Object)简单的Java对象,是为了避免和EJB混淆所创造的简称。实际就是普通JavaBeans,可以理解为符合JavaBean规范的实体类,不需要实现和继承任何接口或者基类。对象状态保存在属性中,访问要通过getter和setter方法。
POJO与javabean的区别:
POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象。“POJO”主要用来指代那些没用遵从特定的Java对象模型,约定或框架如EJB的Java对象。
理想地讲,一个POJO是一个不受任何限制的Java对象(除了Java语言规范)。例如一个POJO不应该是
扩展预定的类,如 public class Foo extends javax.servlet.http.HttpServlet { …
实现预定的接口,如 public class Bar implements javax.ejb.EntityBean { …
包含预定的标注,如 @javax.ejb.Entity public class Baz{ …
然后,因为技术上的困难及其他原因,许多兼容POJO风格的软件产品或框架事实上仍然要求使用预定的标注,譬如用于更方便的持久化。
JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
1.这个类必须有一个公共的缺省构造函数。
2.这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
3.这个类应是可序列化的。
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
package user.pojo;public class User {private Integer id;private String user;private String pwd;public Integer getId() { return id;}public void setId(Integer id) { this.id = id;}public String getUser() { return user;}public void setUser(String user) { this.user = user;}public String getPwd() { return pwd;}public void setPwd(String pwd) { this.pwd = pwd;}}
6.创建Sql映射文件(UserMapper.xml)
- Mybatis(一)
- mybatis (一)
- Mybatis(一)
- Mybatis(一)
- Mybatis一
- mybatis(一)
- MyBatis(一)
- Mybatis(一)
- [MyBatis]MyBatis入门(一)
- Mybatis+eclipse+MySql(一)
- mybatis学习一
- Mybatis学习日记(一)
- mybatis学习(一)
- mybatis(一)
- mybatis一---入门
- Mybatis学习(一)
- mybatis学习(一)
- mybatis入门教程 (一)
- 森林 树--》二叉树的转换
- git 设置免登陆ssh秘钥
- 正则表达式大全
- rollup学习整理-1-api详解
- Tomcat配置问题
- Mybatis(一)
- ElasticSearch5.X聚合-条形图(四)
- 对gulp构建工具的一些常用功能的总结
- iOS开发-__func__的使用
- 记一次虚拟机复制迁移到异机启动报could not open disk image /123.img: Invalid argument 错误
- mysql 高可用之MySQL-MMM
- 数据中心联盟第五批大数据产品评测结果出炉,腾讯云大数据斩获多个奖项
- JAVA SE — Day 10
- Java后台Web开发有用的文章链接