为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第19天 MyBatis框架(MyBatis入门1)

课程名称:Java工程师2022版
课程章节:MyBatis框架
课程讲师:IT老齐 悟空 八戒猪 神思者 Leo
课程内容:MyBatis入门1

一、MyBatis介绍
1.软件开发中的框架
框架是可被应用开发者定制的应用骨架。
框架是一种规则,保证开发者遵循相同的方法开发程序。
框架提倡”不要重复造轮子“,对基础功能进行封装。
2.框架的优点
极大提高了开发效率。
统一的编码规则,利于团队管理。
灵活配置的应用,拥有更好的维护性。
3.SSM开发框架
第一个S表示Spring。
第二个S表示Spring MVC。
第三个M表示MyBatis,简化java与数据库之间的操作。
4.什么是MyBatis?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
MyBatis是优秀的持久层框架。
MyBatis使用XML将SQL与程序解耦,便于维护。
MyBatis学习简单,执行高效,是JDBC的延伸。
5.开发流程
引入MyBatis依赖。
创建核心配置文件。
创建实体(Entity)类。
创建Mapper映射文件。
初始化SessionFactory。
利用SqlSession对象操作数据。
6.单元测试
单元测试是指对软件中的最小可测试单元进行检查和验证。
测试用例是指编写一段代码对已有的功能(方法)进行校验。
JUnit 4是Java中最著名的单元测试工具,主流IDE内置支持。
7.JUnit 4使用方法
引入JUnit jar包或增加Maven依赖。
编写测试用例验证目标方法是否正确运行。
在测试用例上增加@Test注解开始单元测试。
使用JUnit 4进行单元测试。
首先实现一个加减乘除的功能代码。

package com.imooc.junit;
public class Calculator {
    //加法运算
    public int add(int a, int b){
        return a+b;
    }
    //减法运算
    public int subtract(int a, int b){
        return a-b;
    }
    //乘法运算
    public int multiply(int a, int b){
        return a*b;
    }
    //除法运算
    public float divide(int a, int b){
        if(b==0){
            throw new ArithmeticException("除数不能为0");
        }
        return (a*1f)/b;
    }
}

使用JUnit 4实现测试用例代码

import com.imooc.junit.Calculator;
import org.junit.Test;
import java.beans.Transient;
public class CalculatorTest {
    private Calculator cal = new Calculator();
    //1.原原方法保持一致
    //2.在原有方法前增加test前缀
    @Test
    public void testAdd(){
        int result = cal.add(1,2);
        System.out.println(result);
    }
    @Test
    public void testSubtract(){
        int result = cal.subtract(1,2);
        System.out.println(result);
    }
    @Test
    public void testMultiply(){
        int result = cal.multiply(1,2);
        System.out.println(result);
    }
    @Test
    public void testDivide(){
        float result = cal.divide(1,2);
        System.out.println(result);
    }
    @Test
    public void testDivide1(){
        float result = cal.divide(1,0);
        System.out.println(result);
    }
}

当然也可以快捷生成,回到逻辑代码,code——>generate——>junit就可以快捷的生成JUnit 4的单元测试用例了。
二、MyBatis基本使用
1.MyBatis环境配置
默认文件名是mybatis-config.xml。
MyBatis采用XML格式配置数据库环境信息。
MyBatis环境配置标签。
environment包含数据库驱动、URL、用户名与密码。
基本配置代码。

<?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="prd">

        <!-- 配置环境,不同的环境不同的id名字 -->
        <environment id="dev">
            <!-- 采用JDBC方式对数据库事务进行commit/rollback -->
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true &amp; characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="1314520Gx"/>
            </dataSource>
        </environment>

        <environment id="prd">
            <!-- 采用JDBC方式对数据库事务进行commit/rollback -->
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://192.168.1.155:3306/babytun?useUnicode=true &amp; characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="1314520Gx"/>
            </dataSource>
        </environment>

    </environments>
</configuration>

2.SqlSessionFactory
SqlSessionFactory是MyBatis的核心对象。
用于初始化MyBatis,创建SqlSession对象。
保证SqlSessionFactory在应用中全局唯一。
3.SqlSession
SqlSession是MyBatis操作数据库的核心对象。
SqlSession使用JDBC方式与数据库交互。
SqlSession对象提供了数据表CRUD对应方法。

课程总结

1.MyBatis介绍。
2.MyBatis基本使用。
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消