目录
一、mybatis介绍
官方简介
通俗易懂
二、搭建步骤
1.创建Maven项目
2.创建数据库并建表和相关类
3.创建全局配置文件,配置数据库连接信息
4.配置sql映射文件
5.测试
一、mybatis介绍
官方简介
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
通俗易懂
mybatis之前是Apache的一个开源项目iBatis,从Software Foundation 迁移到了 Google Code更名为Mybatis,是一款优秀的持久层(dao层)框架,对JDBC轻量级的封装,通过核心配置文件xml可以与数据库交互,支持动态 SQL 以及数据缓存。
官网:mybatis
二、搭建步骤
1.创建Maven项目
添加Mybatis和MySQL依赖的jar包,以下是jar包坐标:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
2.创建数据库并建表和相关类
创建数据库和admin表(后面用于测试mybatis),创建接口和java类
sql语句:
CREATE DATABASE ssm_db CHARSET utf8
CREATE TABLE admin(
id INT PRIMARY KEY AUTO_INCREMENT,
account VARCHAR(10),
PASSWORD VARCHAR(20)
)
DROP TABLE IF EXISTS admin
Admin类和AdminDao接口
Admin类属性有id,account,password,注意要与数据库中admin表的字段名称相同
AdminDao接口如下:
3.创建全局配置文件,配置数据库连接信息
在resources文件下创建xml文件,名称可以为mybatis,然后在官网复制粘贴数据库连接实例的xml文件内容,并修改相关元素信息,网址:mybatis – MyBatis 3 | 入门
分别修改property内的value为自己连接的数据库的信息
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ssm_db?serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/AdminDao.xml"/>
</mappers>
</configuration>
4.配置sql映射文件
在 resources文件下新建mappers文件夹,在mappers文件夹下新建AdminDao.xml文件,配置映射
在AdminDao.xml文件里可以继续复制mybatis – MyBatis 3 | 入门
官网中一下代码:
将代码中mapper标签中namespace的路径改为接口的全类名,在select标签中填写自己测试的sql语句,id为方法名称,resultType路径为方法返回的数据类型,如果返回类,路径为类的全类名,parameterType为方法的参数类型:
<?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.my.mybatis.dao.AdminDao">
<select id="findAdminById" resultType="com.my.mybatis.model.Admin" parameterType="int">
select * from admin where id = #{id}
</select>
</mapper>
最后将新建的AdminDao.xml文件配置到全局配置文件mybatis.xml文件中,在mybatis.xml文件中添加:
<mappers>
<mapper resource="mappers/AdminDao.xml"/>
</mappers>
以上就已经基本搭建好mybatis项目了,下来测试是否搭建测试成功
5.测试
可以新建一个Test类用来测试:
可以添加Admin的无参构造方法,在sql表中添加admin记录用来测试
import com.my.mybatis.dao.AdminDao;
import com.my.mybatis.model.Admin;
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.Reader;
public class Test {
public static void main(String[] args) throws IOException {
// 读取配置文件
Reader reader = Resources.getResourceAsReader("mybatis.xml");
//创建 SqlSessionFactory
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建 SqlSession
SqlSession sqlSession = sessionFactory.openSession();
//获得接口代理对象
AdminDao adminDao = sqlSession.getMapper(AdminDao.class);
//调用方法
Admin admin = adminDao.findAdminById(1);
//测试返回的admin对象
System.out.println(admin);
//关闭
sqlSession.close();
}
}
测试成功