1.1、Mybatis
1.1、什么是Mybatis
yBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
1.2、持久化
就是将数据永久的存储
1.3、持久层
这个层必须包括一个业务领域实体的模型(即使只是一个元数据模型)。(操作数据库的dao层)
所谓"持久层",也就是在系统逻辑层面上,专注于实现数据持久化的一个相对独立的领域(Domain),是把数据保存到可掉电式存储设备中。持久层是负责向(或者从)一个或者多个数据存储器中存储(或者获取)数据的一组类和组件。
1.4、初始Mybatis
1.4.1、导入依赖
如果要使用mybatis 的话如果使用maven项目可以直接导入以下依赖就行了
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
1.4.2、配置mybatis的核心文件
使用需要配置一个核心文件,这个核心文件包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
我们首先需要在核心配置文件中修改driver 驱动器,url
,usertname ,password
1.4.3、创建SqlSessionFactoryBuilder类
SqlSessionFactoryBuilder类用于创造SqlSessionFactory类,
一般我们创造完SqlSessionFactory类,我们就不在使用
String resource="mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
build = new SqlSessionFactoryBuilder().build(inputStream);
1.4.4、创建实体类
注意创建实体类的属性的时候,要和数据库的字段名要一一对应
package com.kuang.pojo;
public class User {
private int id;
private String name;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + password + '\'' +
'}';
}
}
1.4.5、创建mapper层
mapper层是操作数据的持久层
第一步,创建接口
public interface UserMapper {
List<User> getUserList();
}
第二步,配置实现接口的配置文件
<?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.kuang.dao.UserMapper">
<select id="getUserList" resultType="com.kuang.pojo.User">
select * from mybatis.user//sql语句
</select>
</mapper>
namespace:接口的位置
id:接口实现的方法
resultType:实体类
1.4.6、在核心配置文件中注册
<mappers>
<mapper resource="com/kuang/dao/UserMapper.xml"/>
</mappers>
1.4.7、映射语句
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
通过sqlSession.getMapper方法得到你的接口