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 ...
随机推荐
- Python命名空间——locals()函数和globals()函数及局部赋值规则
Python使用叫做命名空间的东西来记录变量的轨迹.命名空间只是一个 字典,它的键字就是变量名,字典的值就是那些变量的值.实际上,命名空间可以象Python的字典一样进行访问,一会我们就会看到. 在一 ...
- Typora + PicGo做个人知识库
最近在做个人知识库,考察了一圈各种平台和工具,发现还是直接用文件系统管理Markdown文件更符合我当前的需求.以Markdown文件作为文字载体,以文件目录作为分类结构,承载以计算机知识为主的学习笔 ...
- 如何高效掌控K8s资源变化?K8s Informer实现机制浅析
作者 王成,腾讯云研发工程师,Kubernetes contributor,从事数据库产品容器化.资源管控等工作,关注 Kubernetes.Go.云原生领域. 概述 进入 K8s 的世界,会发现有很 ...
- ysoserial CommonsColletions3分析(2)
上篇文章讲到CC3的TransformedMap链,这篇我们就来讲一下LazyMap链. 其实LazyMap链还是使用的TemplatesImpl承载payload,InstantiateTransf ...
- linux 下 I/O 多路复用初探
本文内容整理自B站up主 free-coder 发布的视频:[并发]IO多路复用select/poll/epoll介绍 引入 一般来讲,服务器在处理IO请求(一般指的是socket编程)时,需要对so ...
- pygame简单小游戏 移动小球
键盘a,d,s,w移动小球 需要安装pygame cmd里输入pip install pygame import pygame import sys pygame.init() screen = py ...
- 关于Container容器以及IoC注入机制的认识
container 容器的概念: 1 container 是一个Java 所编写的程序,用于对象之间之间管理对象关系. 主要的java EE 容器如下: Java容器类包含List.ArrayList ...
- PHP的引用计数是什么意思?
什么是引用计数 在PHP的数据结构中,引用计数就是指每一个变量,除了保存了它们的类型和值之外,还额外保存了两个内容,一个是当前这个变量是否被引用,另一个是引用的次数.为什么要多保存这样两个内容呢?当然 ...
- centos7.6,nginx1.18,php-7.4.6,mysql-5.7.30 安装
#1.下载,来自各官网 nginx-1.18.0.tar.gz php-7.4.6.tar.gz mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz #下载到本地再传 ...
- Jmeter系列(36)- Access Log Sampler
简介 Access Log Sampler 是个非常有用的工具,可以收集和分析真实用户操作的数据,并可用于流量分析.常见的就是我们的nginx的access.log 日志 使用 access.log ...