• IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis初识和框架搭建


    第一章 初识Mybatis

    1.1 框架概述
    • 生活中“框架”
      • 买房子
      • 笔记本电脑
    • 程序中框架【代码半成品】

      • Mybatis框架:持久化层框架【dao层】
      • SpringMVC框架:控制层框架【Servlet层】
      • Spring框架:全能…
    1.2 Mybatis简介
    • Mybatis是一个半自动化持久化层ORM框架

    • ORM:Object Relational Mapping【对象 关系 映射】

      • 将Java中的对象与数据库中建议映射关系,优势:操作Java中的对象,就可以影响数据库中表的数据
    • Mybatis与Hibernate对比

      • Mybatis是一个半自动化【需要手写SQL】
      • Hibernate是全自动化【无需手写SQL】
    • Mybatis与JDBC对比

      • JDBC中的SQL与Java代码耦合度高
      • Mybatis将SQL与Java代码解耦
    • Java POJO(Plain Old Java Objects,普通老式 Java 对象)

      • JavaBean 等同于 POJO
    1.3 官网地址
    • 文档地址:mybatis.org/mybatis-3/
    • 源码地址:github.com/mybatis/mybatis-3

    第二章 搭建Mybatis框架

    导入jar包

    编写配置文件

    使用核心类库

    2.1 准备
    • 建库建表建约束
    • 准备maven工程
    2.2 搭建Mybatis框架步骤
    1. 导入jar包

      
      <dependency>
          <groupId>mysqlgroupId>
          <artifactId>mysql-connector-javaartifactId>
          <version>5.1.37version>
      dependency>
      
      <dependency>
          <groupId>mysqlgroupId>
          <artifactId>mysql-connector-javaartifactId>
          <version>8.0.26version>
      dependency>
      
      
      <dependency>
          <groupId>org.mybatisgroupId>
          <artifactId>mybatisartifactId>
          <version>3.5.6version>
      dependency>
      
      <dependency>
          <groupId>junitgroupId>
          <artifactId>junitartifactId>
          <version>4.12version>
          <scope>testscope>
      dependency>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
    2. 编写核心配置文件【mybatis-config.xml】

      • 位置:resources目标下

      • 名称:推荐使用mybatis-config.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/db220106"/>
                        <property name="username" value="root"/>
                        <property name="password" value="root"/>
                    dataSource>
                environment>
            environments>
            
            <mappers>
                <mapper resource="mapper/EmployeeMapper.xml"/>
            mappers>
        configuration>
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
    3. 书写相关接口及映射文件

      • 映射文件位置:resources/mapper

      • 映射文件名称:XXXMapper.xml

      • 映射文件作用:主要作用为Mapper接口书写Sql语句

        • 映射文件名与接口名一致
        • 映射文件namespace与接口全类名一致
        • 映射文件SQL的Id与接口的方法名一致
      • 示例代码

        
        DOCTYPE mapper
                PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <mapper namespace="com.atguigu.mybatis.mapper.EmployeeMapper">
            <select id="selectEmpById" resultType="com.atguigu.mybatis.pojo.Employee">
                SELECT
                    id,
                    last_name,
                    email,
                    salary
                FROM
                    tbl_employee
                WHERE
                    id=#{empId}
            select>
        mapper>
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
    4. 测试【SqlSession】

      • 先获取SqlSessionFactory对象
      • 再获取SqlSession对象
      • 通过SqlSession对象获取XXXMapper代理对象
      • 测试
    2.3 添加Log4j日志框架
    • 导入jar包

      
      <dependency>
          <groupId>log4jgroupId>
          <artifactId>log4jartifactId>
          <version>1.2.17version>
      dependency>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 编写配置文件

      • 配置文件名称:log4j.xml

      • 配置文件位置:resources

      • 示例代码

        
        DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
        
        <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        
            <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
                <param name="Encoding" value="UTF-8" />
                <layout class="org.apache.log4j.PatternLayout">
                    <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />
                layout>
            appender>
            <logger name="java.sql">
                <level value="debug" />
            logger>
            <logger name="org.apache.ibatis">
                <level value="info" />
            logger>
            <root>
                <level value="debug" />
                <appender-ref ref="STDOUT" />
            root>
        log4j:configuration>
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
  • 相关阅读:
    专业英语积累
    基于单片机的显示系统
    【数据分享】2008-2022年全国范围逐年NO2栅格数据(免费获取)
    win10利用minikube在自己的电脑上搭建k8s
    【Python数学练习1】
    YUNBEE云贝-Oracle 19c OCM 5月19日
    在 Rust 中实现 TCP : 4. 完成握手
    Vmware tools安装(已解决VMware和win鼠标不能自由切换问题)
    Rust语言基础:从Hello World开始
    net-java-php-python-校园二手图书销售网站计算机毕业设计程序
  • 原文地址:https://blog.csdn.net/ZCY5202015/article/details/134533703