MyBatis概念和”安装“
MyBatis概念
MyBatis的前身就是iBatis,本是apache的一个开源项目,2010年这个项目由apahce sofeware foundation 迁移到了google code,并且改名为MyBatis。
MyBatis是一个数据持久层(ORM)框架。
MyBatis是把实体类和sql语句之间建立了映射关系,而Hibernate在实体类和数据库之间建立了映射关系。
总体来说 MyBatis 主要完成两件事情
- 根据 JDBC 规范建立与数据库的连接;
- 通过Annotaion/XML+JAVA反射技术,实现 Java 对象与关系数据库之间相互转化。
MyBatis的优点
- 基于SQL语法,简单易学。
- 能了解底层组装过程。
- SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。
- 程序调试方便。
MyBatis层次结构

MyBatis安装(环境配置)*.* 例子是最好的笔记
- 准配需要的jar包:mybatis-3.2.6.jar和mysql-connector-java-5.1.11-bin.jar

2.创建mybatis-config.xml,并配置数据库环境

1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5 <configuration>
6 <!-- 环境 -->
7 <environments default="developments">
8 <environment id="mysql">
9 <transactionManager type="JDBC"></transactionManager>
10 <dataSource type="POOLED">
11 <property name="driver" value="com.mysql.jdbc.Driver"/>
12 <property name="url" value="jdbc:mysql://127.0.0.1:3306/mydbone"/>
13 <property name="username" value="root" />
14 <property name="password" value="199751hwl" />
15 </dataSource>
16 </environment>
17 </environments>
18
19 </configuration>
3.创建一个实体Person.java

package com.model.system;
public class Person {
private Integer persId;
private String persName;
private String persSex;
private String persHobby;
public Person() {}
public Person(Integer persId, String persName, String persSex, String persHobby) {
super();
this.persId = persId;
this.persName = persName;
this.persSex = persSex;
this.persHobby = persHobby;
}
public Integer getPersId() {
return persId;
}
public void setPersId(Integer persId) {
this.persId = persId;
}
public String getPersName() {
return persName;
}
public void setPersName(String persName) {
this.persName = persName;
}
public String getPersSex() {
return persSex;
}
public void setPersSex(String persSex) {
this.persSex = persSex;
}
public String getpersHobby() {
return persHobby;
}
public void setpersHobby(String persHobby) {
this.persHobby = persHobby;
}
@Override
public String toString() {
return "Person [persId=" + persId + ", persName=" + persName + ", persSex=" + persSex + ", persHobby="
+ persHobby + "]";
}
}
4.为实体配置对应的映射文件Person.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.model.system.Person">
<resultMap type="com.model.system.Person" id="person">
<result column="persId" property="persId" />
<result column="persName" property="persName" />
<result column="persSex" property="persSex" />
<result column="persHobby" property="persHobby" />
</resultMap> <!-- 查询用户通过用户ID -->
<select id="queryPersonByPersonId" parameterType="java.lang.Integer"
resultMap="person">
select * from person where persId = #{persId}
</select> <!-- 添加用户通过用户ID -->
<select id="insertPerson" parameterType="java.lang.String"
resultMap="person">
INSERT INTO person(persName,persSex,persHobby) VALUE (#{persName},#{persSex},#{persHobby})
</select>
</mapper>
5.在mybatis-config.xml,添加User.xml映射文件

1 <!-- 添加映射文件 -->
2 <mappers>
3 <mapper resource="com/mapper/system/Person.xml" />
4 </mappers>
6. 调用类(测试类)

1 package com;
2
3 import java.io.IOException;
4 import java.io.Reader;
5
6 import org.apache.ibatis.io.Resources;
7 import org.apache.ibatis.session.SqlSession;
8 import org.apache.ibatis.session.SqlSessionFactory;
9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
10
11 import com.model.system.Person;
12
13 public class TestQueryPersonById {
14
15 public static void main(String[] args) throws IOException {
16
17 // 从XML中创建SqlSessionFactory
18 String resource = "mybatis-config.xml";
19
20 Reader reader = Resources.getResourceAsReader(resource);
21 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader, "mysql");
22 // 获取session
23 SqlSession session = ssf.openSession();
24
25 Person person = session.selectOne("com.model.system.Person.queryPersonByPersonId", 1);
26 // 通过命名空间查找sql
27 System.out.println(person);
28 }
29 }
MyBatis概念和”安装“的更多相关文章
- mybatis generator 插件安装及使用
现在Mybatis特别火,但是在开发中却要经常写实体类和配置文件,会不会特别烦人,所以可以利用Mybatis的代码生成插件来生成这部分代码: 1,打开eclipse,点击Help>Softwar ...
- Docker教程:dokcer machine的概念和安装
http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...
- Eclipse MyBatis Generator插件安装
目录 Eclipse MyBatis Generator插件安装 Eclipse MyBatis Generator插件安装 1.进入Eclipse Marketplace [Help] -> ...
- Maven(一)Maven 的概念和安装
Maven 的概念和安装 Maven 是什么 首先 Maven 肯定是一个造福人类的好东西,它可以省去我们构建项目中引入 jar 包时的麻烦,还有利于项目的模块化开发等等等好处.在如今项目中大体都是使 ...
- MyBatis 概念
简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...
- 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)
一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...
- YII框架概念与安装
Yii概念: YII安装: 下载最版本http://www.framework.com 解压至访问目录下 直接打开advanced/init.bat文件输入0之后输入yes 打不开 ...
- MySQL数据库1 - 基本概念及安装
一.数据管理技术的产生和发展: 1.人工管理阶段 - 效率低,成本高(文字) 2.文件系统阶段 - 易于存储,处理速度快,数据形式丰富(文字,声音,图片...磁带,磁盘) 3.数据库系统阶段 - 易于 ...
- Hive从概念到安装使用总结
一.Hive的基本概念 1.1 hive是什么? (1)Hive是建立在hadoop数据仓库基础之上的一个基础架构: (2)相当于hadoop之上的一个客户端,可以用来存储.查询和分析存储在hadoo ...
随机推荐
- Golang slice作为函数参数
slice底层其实是一个结构体,len.cap.array分别表示长度.容量.底层数组的地址,当slice作为函数的参数传递的时候,跟普通结构体的传递是没有区别的:如果直接传slice,实参slice ...
- 已知三角形ABC为锐角三角形,求 sinA + sinB·sin(C/2) 的最大值。
已知三角形ABC为锐角三角形,求 sinA + sinBsin(C/2) 的最大值. 解:Δ := sinA + sinB·sin(C/2) = sin(B+C) + sinB·sin(C/2) = ...
- Hopper Disassembler系列之Sublime Text 3 爆破
https://www.52pojie.cn/thread-793069-1-1.html 当参数少于7个时, 参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9. 当参数 ...
- 简单三分钟,本地搭建 k8s
使用 minikube 在本地搭建 k8s 已经比以前要简单很多了.本文,我们通过简短的三分钟来重现一下在本地搭建 k8s 实验环境的步骤. Newbe.Claptrap 是一个用于轻松应对并发问题的 ...
- WHY IS A BYTE 8 BITS? OR IS IT?
WHY IS A BYTE 8 BITS? OR IS IT? 原文链接:http://www.bobbemer.com/BYTE.HTM I recently received an e-mail ...
- 不写注释的程序员-Models
Models 不写注释的程序员-Models # This is an auto-generated Django model module. # You'll have to do the foll ...
- Identity用户管理入门二(显示用户列表)
在Controllers中新建AccountController,并在构造方法(函数)中注入SignInManager,UserManager UserManager 用户管理(注册,查找,修改, ...
- 使用Eclipse对weblogic进行远程调试
一.环境说明 weblogic12c,linux centOS 6.5,eclipse mars. 二.步骤 1.找到weblogic根目录下user_projects/domains/域名/bin/ ...
- python生成时间序列(date_range)
介绍 自己写了一个用python内置模块实现的生成时间序列的函数 支持自动推断字符串到datetime的转换, 但对格式有一定要求, 其它格式可手动指定格式化方式, 格式化方式与python内置格式化 ...
- 安装Centos7,出现无法联网的问题-----解决办法
安装Centos7,出现无法联网的问题-----解决办法 我安装的是centos7的版本 在我照着centos7安装教程-CentOS-PHP中文网这个教程安装完后 我发现我的centOS无法联网,在 ...