概念和搭建MyBatis
MyBatis特性:
① MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
② MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
③ MyBatis可以使用简单的XML或注解用于配置和原始映射,
将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录
④ MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架
MyBatis下载地址:https://github.com/mybatis/mybatis-3
MyBatis:
轻量级,性能出色
SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
开发效率稍逊于HIbernate,但是完全能够接受
搭建MyBatis:
构建工具:maven
MySQL版本:



创建maven工程:
①打包方式:jar
②引入依赖
点击右键 new Module

打包方式和一些依赖都导入到pom.xml里面了
<dependencies>
<!-- Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version> </dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>

创建MyBatis的核心配置文件:
配置文件分为两种:①核心配置文件:主要用于配置连接数据库的环境以及MyBatis的全局配置信息
②映射文件 :sql语句
框架本质是jar和配置文件
核心配置文件习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。
将来整合Spring之后,这个配置文件可以省略,所以可以直接复制、粘贴。
MyBatis的核心配置文件写的内容:可以在官方文档中查找 configuration XML配置文件,
然后复制到mybatis-config.xml里面。
maven工程里都是约定好的目录:
main放的是主程序(java放的是java代码,resources放的是我们的配置文件),
test放的是测试程序。
mybatis-config.xml配置文件创建在resources里面

package com.atguigu.mybatis.pojo;
//创建实体类
public class User
{
/**
* 保证字段名和属性名一致,因为这是他默认的映射规则
* (过程用的是反射,然后会把我们当前查询出来的数据的字段名来作为我们当前的属性名然后查找这个属性,并且为属性赋值)
*/
private Integer id;
private String username;
private String password;
private Integer age;
private String sex;
private String email;
public User() {
}
public User(Integer id, String username, String password, Integer age, String sex, String email) {
this.id = id;
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
this.email = email;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}