MyBatis框架的搭建
文章目录
前言
一、MyBatis是什么?
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
二、使用步骤
第一步:导包 ( mysql驱动包+MyBatis的核心包+MyBatis的依赖)
第二步:书写配置mybatis.xml的文件
代码如下(示例):
<?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="mysql">
<!-- MySQL数据库连接-->
<environment id="mysql">
<!--MyBatis中的事务管理 目前的事务管理和JDBC中的事务保持一致-->
<transactionManager type="JDBC"></transactionManager>
<!--底层使用连接池连接数据库-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--进行mapper文件的扫描-->
<mappers>
<!--resource:书写的是XML所在的目录-->
<mapper resource="com/gzh/mapper/FlowerMapper.xml"></mapper>
<!--读取本地中的xml文件-->
<mapper url="file:///B:\FlowerMapper"></mapper>
</mappers>
</configuration>c
第三步:配置FlowerMapper.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">
<!--包名+xml名称 不能加.xml-->
<mapper namespace="com.gzh.mapper.FlowerMapper">
<select id="selectAll" resultType="com.gzh.entity.Flower">
SELECT * FROM flower
</select>
</mapper>
第四步:测试代码
package com.gzh.test;
import com.gzh.entity.Flower;
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 TestA {
public static void main(String[] args) throws IOException {
//1.解析MyBatis.xml
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
//2.获得session工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
//3.获得session对象
SqlSession sqlSession = factory.openSession();
//4.调用方法
List<Flower> list = sqlSession.selectList("com.gzh.mapper.FlowerMapper.selectAll");
System.out.println(list+"\t");
//5.关闭SQLsession
sqlSession.close();
}
}
MyBatis的优点:
A丶连接数据库速度快
B丶实现了SQL语句和JAVA代码的解耦
C丶数据库查询取值非常的方便