MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
作用:就是使java实体类 和 数据表形成映射,使操作java类就可操作数据。
ORM 对象关系映射对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)
ORM框架严格意义上讲,都实现了JPA标准,特点是不写SQL语句
O—Object
R—Relational
M—Mapping
实体类对象(pojo类实例/java类的对象)和 mysql数据表建立关系,映射了类中的属性 和 数据表中的字段。
mybatis就是一个典型的ORM框架。
IDEA,mysql,maven
Idea创建Maven工程就起名叫mybatis吧。
数据库创建Person表并添加几条数据mysql mysql-connector-java8.0.16 org.mybatis mybatis3.5.2 junit junit4.13 test
CREATE TABLE `person` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8
INSERT INTO `person`(`id`,`name`,`password`) VALUES (1,'lll','123456'),(2,'222','123456'),(3,'rrr123','123456'),(12,'测试','123456789'),(13,'测试','123456789');创建Preson类
用来接受和传递数据,继承Serializable接口,实现序列化
package com.zzb.test;
import java.io.Serializable;
public class Person implements Serializable {
private int id;
private String name;
private String password;
public Person(int id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + ''' +
", password='" + password + ''' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
编写配置文件
mybatis-config.xml
写一个映射文件
PersonMapper.xml
创建MybatisTest类(main)select * from person
package com.zzb.test;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MybatisTest {
public static void main(String[] args) throws IOException {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
sqlSessionFactory.openSession(false);
SqlSession sqlSession = sqlSessionFactory.openSession();
List objects = sqlSession.selectList("person.queryAll");
for (Person person : objects) {
System.out.println(person);
}
sqlSession.commit();
sqlSession.close();
}
}
运行结果
这里路径参数拼接使用&



