MyBatis学习笔记【IDEA工具】

MyBatis学习笔记【IDEA工具】


什么是MyBatis?:

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

开发我的第一个MyBatis程序

跟着杜神学MyBatis

1. 项目准备

  • 新建Maven项目【点我学习Maven的下载与配置

    • 添加空的Moudle,然后配置Maven 在这里插入图片描述
    • Settings->Build,Excution,Deployment->Build Tools->Maven
      • 更改Maven_home path(指定本地Maven)
      • 使用本地Maven的配置文件【User settings file:Maven中conf下】 Maven配置
  • 配置JDK

    • File->Project Structure

2. resources目录

放在这个目录当中的,一般都是资源文件,配置文件。直接放到resources目录下的资源,等同于放到了类的根路径下。

3. 包结构

在这里插入图片描述

4. 开发步骤

第一步:打包方式jar
<!--在pom.xml文件编写打包方式jar-->
<packaging>jar</packaging>
第二步:引入依赖
  • mybatis依赖

    •    <!--在pom.xml文件编写MyBatis依赖-->
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis</artifactId>
             <version>3.5.10</version>
         </dependency>
      
  • mysql依赖

    • <!--在pom.xml文件编写MySql驱动依赖-->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.49</version>
      </dependency>
      
第三步:编写mybatis核心配置文件:mybatis-config.xml
  • 一般情况下放到类的根路径下(resources中)

  • 文件内容可从mybatis中文网入门教程中复制【从 XML 中构建 SqlSessionFactory】

  • 配置数据库连接信息

  • <?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">
              <!--jdbc的jar包是5及5之前的数据库连接驱动名称:com.mysql.jdbc.Driver-->
              <!--jdbc的jar包是6及6之后的数据库连接驱动名称:com.mysql.cj.jdbc.Driver-->
            <property name="driver" value="${driver}"/>
              <!--url:指定数据库的标识符,jdbc:mysql://localhost:【端口号】/【数据库名称】-->
            <property name="url" value="${url}"/>
              <!--mysql数据库的用户名及密码-->
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
          </dataSource>
        </environment>
      </environments>
      <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
      </mappers>
    </configuration>
    
第四步:编写XxxxMapper.xml文件
  • 在这个配置文件中编写SQL语句

  • 编写CarMapper.xml文件,配置信息从入门教程中映射SQL语句中复制【探究已映射的 SQL 语句】

  • <?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="sdf">
        <!--insert语句,id是这条语句唯一标识-->
        <insert id="insertCar">
            insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)
            values (null,'1003','丰田霸道','30.00','2022-10-01','燃油车')
        </insert>
    </mapper>
    
第五步:在mybatis-config.xml中指定XxxxMapper.xml文件的路径
  • resource会从类的根路径下查找
  • <mappers>
        <!--执行XXXXMapper.xml文件的路径-->
        <!--resources属性自动会从类的根路径下查找资源-->
        <mapper resource="CarMapper.xml"/>
    </mappers>
    
第六步:编写mybatis程序(使用mybatis类库、编写mybatis程序、连接数据库增删改查)
  • 在mybatis中负责执行SQL语句的对象->SqlSession:是Java程序和数据库之间的一次会话。

  • 如何获取SqlSession对象?

    • 需要先获取SqlSessionFactory工厂来生产SqlSession
  • 如何获取SqlSessionFactory对象?

    • 需要先获取SqlSessionFactoryBuilder对象
      通过SqlSessionFactoryBuilder对象的build方法,获取一个SqlSessionFactory对象
  • mybatis的核心对象总结:

    • SqlSessionFactoryBuilder --> SqlSessionFactory --> SqlSession
  • package pers.weiney.mybatis.test;
    
    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;
    
    /**
     * @author Weiney
     * @ToDo 正规完整版的mybatis程序
     * @create 2022-11-20 21:53
     */
    public class MyBatisCompleteTest {
        public static void main(String[] args) {
            SqlSession sqlSession = null;
            try {
                SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
                SqlSessionFactory sqlSessionFactory = 		sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));
                sqlSession = sqlSessionFactory.openSession();
                // 执行SQL语句,处理相关业务
                int count = sqlSession.insert("insertCar");
                System.out.println(count);
                // 执行到这里,没有发生异常,提交事务,终止事务
                sqlSession.commit();
            } catch (Exception e) {
                // 发生异常最好回滚事务
                if (sqlSession != null) {
                    sqlSession.rollback();
                }
                e.printStackTrace();
            } finally {
                // 关闭会话
                if (sqlSession != null) {
                    sqlSession.close();
                }
            }
    
        }
    }
    
    

5. 从 XML 中构建 SqlSessionFactory

  • mybatis中的重要对象:SqlSessionFactory
  • SqlSessionFactory对象的创建需要XML(mybatis-config.xml)

6. mybatis中有两个主要的配置文件:

  • mybatis-config.xml,这是核心配置文件,主要配置连接数据库的信息等(只需一个)
  • XxxxMapper.xml,这个文件是专门用来编写SQL语句的配置文件。(一个表一个)
    qlSessionFactory
  • SqlSessionFactory对象的创建需要XML(mybatis-config.xml)

7. mybatis中有两个主要的配置文件:

  • mybatis-config.xml,这是核心配置文件,主要配置连接数据库的信息等(只需一个)
  • XxxxMapper.xml,这个文件是专门用来编写SQL语句的配置文件。(一个表一个)
    例:t_user表对应一个UserMapper.xml;t_student表对应一个StudentMapper.xml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悦享未来

你的鼓励必将成为我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值