MyBatis学习笔记总结【一】

本文介绍了MyBatis的基础知识,包括其作为持久层框架的优势、环境配置步骤、依赖导入以及关键组件如配置文件和SQL映射。重点讲解了如何编写MyBatis配置,配置文件中的db.properties和mybatis-config.xml设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方学习文档

MyBatis简介

mybatis是一个持久层框架,用Java编写的。
他封装了jdbc操作的很多细节,使开发者只需要关心sql语句本身,而无需关注注册驱动,创建连接等复杂过程。它使用ORM (ORM:Object Relational Mappging 对象关系映射)思想实现了结果集的封装。就是把数据库表和实体类以及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库。
实体类中的属性和数据库表的字段名称保持一致。

优点

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
  • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  • 提供映射标签,支持对象与数据库的ORM字段关系映射。
  • 提供对象关系映射标签,支持对象关系组建维护。
  • 提供xml标签,支持编写动态sql。

环境搭建

1.导入依赖-——>2.创建一个模块——>3.编写代码(实体类、mapper[dao]接口、接口实现类 )
1.导入依赖
这些依赖可以到MVN中找相应的版本等。
MVN链接

<!--mysql驱动-->
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.47</version>
 </dependency>
 <!--mybatis-->
 <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.5.2</version>
 </dependency>

MyBatis编写

[注意] 其中的包命名,一般多用mapper(图中使用了dao)
在这里插入图片描述

MyBatis配置文件

【db.properties】

# MySQL 8.0+ 驱动路径
# driver=com.mysql.cj.jdbc.Driver
driver=com.mysql.jdbc.Driver
#如果是MySQL 8.0+ 需要设置时区。&serverTimezone=Asia/Shanghai
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8
username=root
password=root

【mybatis-config.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>

	<!--这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。-->
    <properties resource="db.properties"/>
    
    <!--这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <setting name="cacheEnabled" value="true"/>
    </settings>
	
	<!--类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写-->
    <typeAliases>
        <package name="pojo"/>
    </typeAliases>
   
    
	<!--MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。
不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。-->

    <environments default="development">

        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>

    </environments>

	<!--告诉 MyBatis 到哪里去找映射文件-->
    <mappers>
        <mapper class="dao.UserMapper"/>
    </mappers>
</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值