初识Mybatis框架

Posted on 2021-03-02 23:00  萌栈师  阅读(99)  评论(0)    收藏  举报

Mybatis

1.mybatis框架

Mybatis官网:https://mybatis.org/mybatis-3/zh/

SSM : 学习顺序 mybatis-->spring-->springMVC

Hibernate被Mybatis取代了,框架:做好了的半成品框架;

mybatis是优秀的持久层框架,对JDBC进行了封装,免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作;

逆向工程:把数据库中表自动生成对应的bean实体类, mybatis plus就是用逆向工程,可以不写一句 mysql语句,完成对数据的增删改查的所有逻辑,底层还是在利用了sql语句

​ 连接数据库需要url,username,pwd...,通过一个中间文件(XML文件)告诉框架这些连接信息,xml文件就是用于配置信息告诉框架的,(类似于JAVAEE中,webxml文件配置,告诉Tomcat信息的)

所以,配置XML文件---->便于使用Mybatis,经常使用框架都要用xml文件告诉框架我们想做什么

框架由第三方提供,会提供jar包;

2.如何使用Mybatis

2.1Mybatis核心配置文件

​ 核心配置文件--->xml文件,命名无要求,一般叫做:mybatis.xml 或 applicationContext-dao.xml,因为该文件将替换dao层连接配置数据库,一般放在src目录下

3.Mybatis简单搭建

3.1 导入jar包

​ 工程下建包lib,导入两个jar包:

mybatis-3.5.6.jar 和 数据库驱动包 mysql-connector-java-5.1.48.jar,并添加到项目中。

3.2 建核心配置文件

​ 在src目录下--->mybatis.xml 或 applicationContext-dao.xml ---->参考mybatis官网搭建xml文件架构(如图):

----->更改POOLED连接池中的数据,用于连接数据库(以后可以用配置properties文件进行软连接)

<dataSource type="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=CST&amp;characterEncoding=utf-8"/>
    <property name="username" value="root"/>
    <property name="password" value="123456"/>
</dataSource>

<!-- 扫描sql语句所在的XML文件-->
<mappers>
	<mapper resource="com/yd/mybatis/mapper/BookMapper.xml"/>
</mappers>

------>建bean/POJO包,创建与数据库相对应的实体类(例:Book.java),类属性必须和数据库表字段完全相同;

------>建mapper包(相当于原来的dao包),与数据库和bean文件打交道的。创建BookMapper.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">
<mapper namespace="com.yd.mybatis.mapper.BookMapper">
    <select id="getByBId" resultType="com.yd.mybatis.bean.Book">
        select * from book where BID = 'B001'
    </select>
</mapper>

------>主函数测试:

public class Demo {
    public static void main(String[] args) {
        try {
            //加载xml文件
            InputStream in = Resources.getResourceAsStream("applicationContext-dao.xml");
            //通过xml文件创建工厂类
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
            //用来发送sql对象
            SqlSession session = factory.openSession();
            Book book = (Book)session.selectOne("com.yd.mybatis.mapper.BookMapper.getByBId");
            System.out.println(book);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

其中,Resources类是import org.apache.ibatis.io.Resources;(ibatis是mybatis的前身)

文件之间的关系图:

运行结果:

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3