• 【MyBatis框架】第二章 MyBatis入门


    😊😊😊欢迎来到本博客😊😊😊
    📫作者简介:阿斯卡码,专注于研究Java框架/Vue,就读于河南中医药大学,刚刚入门项目开发📫
    🏆 CSDN编程比赛奖章获得者/Java领域创作者🏆
    🔥计划学习:深入学习Spring全家桶,Vue, mybatis,Mysql等领域。(目前涉及不深入)🔥
    👍如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主~

    第二章 MyBatis入门

    2.1 第一个例子

    实现步骤:

    0.创建student表(id,name,email,age)

    1.新建maven项目

    2.修改pom.xml

    1)加入依赖 mybatis依赖, mysql驱动, junit

    2)在加入资源插件

    3.创建实体类Student。定义属性, 属性名和列名保持一致

    4.创建Dao接口, 定义操作数据库的方法。

    5.创建xml文件(mapper文件), 写sql语句。

    mybatis框架推荐是把sql语句和java代码分开

    mapper文件:定义和dao接口在同一目录, 一个表一个mapper文件。

    6.创建mybatis的主配置文件(xml文件):有一个, 放在resources目录下

    1)定义创建连接实例的数据源(DataSource)对象

    1. 指定其他mapper文件的位置

    7.创建测试的内容。

    使用main方法,测试mybatis访问数据库

    也可以使用junit 访问数据库

    2.2 概念

    1.自动提交:当你的 sql语句执行完毕后, 提交事务。 数据库更新操作之间保存到数据

    2.手动(手工)提交事务:在你需要提交事务的位置, 执行方法,提交事务或者回顾事务。

    2.3 MyBatis的一些重要对象

    1) Resources : mybatis框架中的对象, 一个作用读取 主配置信息。

    InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
    
    • 1

    2)SqlSessionFactoryBuilder:负责创建SqlSessionFactory对象

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
    
    • 1

    3)SqlSessionFactory: 重要对象

    SqlSessionFactory是重量级对象:创建此对象需要使用更多的资源和时间。 在项目中有一个就可以了。

    SqlSessionFactory接口:作用是SqlSession的工厂, 就是创建SqlSession对象。

    DefaultSqlSessionFactory实现类

    public class DefaultSqlSessionFactory implements SqlSessionFactory { } 
    
    • 1

    SqlSessionFactory接口中的方法

    openSession(): 获取一个默认的SqlSession对象, 默认是需要手工提交事务的。

    openSession(boolean): boolean参数表示是否自动提交事务。

    ​ true: 创建一个自动提交事务的SqlSession

    ​ false: 等同于没有参数的openSession

    1. SqlSession对象

    SqlSession对象是通过SqlSessionFactory获取的。 SqlSession本身是接口

    DefaultSqlSession: 实现类

    public class DefaultSqlSession implements SqlSession { }
    
    • 1

    SqlSession作用是提供了大量的执行sql语句的方法:

    selectOne:执行sql语句,最多得到一行记录,多余1行是错误。
    selectList:执行sql语句,返回多行数据
    selectMap:执行sql语句的,得到一个Map结果
    insert:执行insert语句
    update:执行update语句
    delete:执行delete语句
    commit:提交事务
    rollback:回顾事务
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意SqlSession对象不是线程安全的, 使用的步骤:

    ①:在方法的内部,执行sql语句之前,先获取SqlSession对象

    ②:调用SqlSession的方法,执行sql语句

    ③:关闭SqlSession对象,执行SqlSession.close()

    2.4 使用工具类和模版

    1)创建模版,mapper文件模版和mybatis主配置文件模版

    • 创建模版的步骤:

    在这里插入图片描述

    • 创建模版文件:

    在这里插入图片描述

    • 创建文件选择使用的模版
  • 相关阅读:
    View绘制流程1-View与Window的关系
    Android超简单的显示网络图片方法
    如何实现Cloneable接口?深拷贝和浅拷贝的区别?
    压缩包系列
    股票量化投资:市值因子——商用因子模型:EAP.industry.Portfolio
    Springcloud之OAuth2
    【gurobi】解释gurobi中quicksum和addTerms函数的作用,及举例说明其用法
    以AI对抗AI,大模型安全的“进化论”
    树莓派无需显示屏的VNC Viewer方式的远程连接
    深入浅出Java多线程(八):volatile
  • 原文地址:https://blog.csdn.net/qq_52384627/article/details/126638076