1.Mybatis初使用

一、Mybatis简介

1.官方网站

mybatis
ORM框架

2.特点

  • 基于SQL语法,简单易学
  • 了解底层封装过程
  • SQL语句封装在配置文件,便于统一管理和维护,降低程序的耦合度
  • 方便程序代码调试

3.Mybatis的核心对象

  • SqlSessionFactoryBuilder
  • SqlSessionFactory
  • SqISession

4.相关文件

mybatis-config.xml 系统核心配置文件

mapper.xml SQL映射文件

二、Mybatis的开发步骤

1.向pom.xml文件导入mybatis依赖:

<!--    mybatis依赖    -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
<!--    数据库依赖    -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
        </dependency>
<!--    lombok    -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>

数据库数据:

数据库--表在这里插入图片描述

2.编写Mybatis核心配置文件(resources/mybatis-moviesType.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!--报文头:<?xml version="1.0" encoding="UTF-8" ?>
    <?xml  ?>:报文头格式,报文头内容放在xml和?中间
    version="1.0":声明使用的xml版本
    encoding="UTF-8":声明用xml传输数据时用的字符编码类型 -->

<!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="com.mysql.jdbc.Driver"/> <!--属性-->
                <property name="url" value="jdbc:mysql://localhost:3306/mybatisDemo?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="628050"/>
            </dataSource>
        </environment>
    </environments>

<!--  映射器:加载映射文件  -->
    <mappers>
        <mapper resource="mapper/TypeMapper.xml"/>
    </mappers>

</configuration>

3.创建实体类-POJO

package com.cwx.mybatisDemo.entity;

import lombok.Data;

/**
 * @Author cwx
 * @Date 2022/4/11 13:30
 * @Version 1.0
 */
@Data
public class MoviesType {
    private Integer id;
    private String type;
}

4.DAO层–SQL的映射文件(resources/mapper/MoviesTypeMapper.xml和dao/MoviesTypeDao)

<?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.cwx.mybatisDemo.dao.MoviesTypeDao"> 
    <select id="queryMoviesType" resultType="com.cwx.mybatisDemo.entity.MoviesType">
        SELECT * FROM lei_xing;
    </select>
</mapper>
package com.cwx.mybatisDemo.dao;

import com.cwx.mybatisDemo.entity.MoviesType;

import java.util.List;

/**
 * @Author cwx
 * @Date 2022/4/11 13:47
 * @Version 1.0
 */
public interface MoviesTypeDao {
    List<MoviesType> queryMoviesType();
}

5.创建测试类

1)读取核心配置文件mybatis-moviesType.xml

2)创建SqlSessionFactory对象,读取配置文件

3)创建SqISession对象

4)调用mapper文件进行数据操作

package com.cwx.mybatisDemo.test;

import com.cwx.mybatisDemo.entity.MoviesType;
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;
import java.util.List;

/**
 * @Author cwx
 * @Date 2022/4/11 13:36
 * @Version 1.0
 */
public class TestMybatis {
    public static void main(String[] args) throws IOException {
        // 1.创建SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        // 2.解析主配置文件 获得一个reader
        Reader reader = Resources.getResourceAsReader("mybatis-moviesType.xml");
        // 3.创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
        // 4.打开SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 5.执行Sql
        List<MoviesType> moviesTypeList = sqlSession.selectList("com.cwx.mybatisDemo.dao.MoviesTypeDao.queryMoviesType");
        // 6.输出
        for (MoviesType moviesType : moviesTypeList) {
            System.out.println(moviesType);
        }
        // 7.关闭SqlSession
        sqlSession.close();
    }
}

输出结果如下:
在这里插入图片描述

三、项目目录

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值