一般文章让你了解mybatis,以及如今在Java开发的地位!

目录

一.了解mybatis!

A.什么是mybatis?

B.MyBatis这款框架的一些特点

SQL与Java代码解耦:

灵活的SQL查询

对象-关系映射

缓存机制

注解支持

插件扩展

C.Mybatis框架的一些应用场景 

C1.Web应用开发:

C2.微服务架构

C3.数据处理和ETL

C4.批处理应用

C5.数据库工具和管理系统

C6.总结

D.学习MyBatis重要动力!

提高数据库访问效率

简化数据访问层的开发

灵活的动态SQL查询

对象-关系映射(ORM)支持

与其他框架的集成

二.将My'batis部署在IDEA 中,并且实施增删修查!

A.Mybatis配置环境 

A1.导入依赖

B.加载数据库配置文件

C.修改web.xml版本

D.下载插件

配置:mybatis.cfg.xml,generatorConfig.xml,

F.运行结果

G.测试方法


一.了解mybatis!

A.什么是mybatis?

MyBatis是一个开源的持久层框架,它简化了在Java应用程序中使用关系型数据库的开发工作。MyBatis提供了将SQL语句和Java代码进行解耦的能力,使得应用程序可以通过简单的配置来访问数据库,并实现了对SQL查询、插入、更新和删除等操作的支持

B.MyBatis这款框架的一些特点

SQL与Java代码解耦

MyBatis使用XML或注解来定义SQL映射关系,将SQL语句与Java代码进行解耦。这样,开发人员无需编写大量的JDBC代码,可以集中精力于业务逻辑的实现

灵活的SQL查询

MyBatis支持灵活的动态SQL查询,可以根据不同的条件动态构建SQL语句,并且提供了强大的SQL语句处理能力,如条件判断、循环等。这样可以方便地编写复杂的查询语句。

对象-关系映射

MyBatis提供了通过对象-关系映射(ORM)将查询结果映射为Java对象的能力。开发人员可以通过配置简单的映射规则,将数据库表的数据映射到相应的Java对象中,简化了数据的获取和处理过程。

缓存机制

MyBatis支持一级缓存和二级缓存机制,提高了数据库访问性能。一级缓存是SqlSession级别的缓存,可以减少对数据库的重复查询;二级缓存是全局级别的缓存,多个SqlSession之间可以共享缓存数据。

注解支持

除了使用XML配置SQL映射外,MyBatis还支持使用注解来编写和配置SQL语句。使用注解可以使得SQL语句与Java代码更加紧密,提高了开发效率。

插件扩展

MyBatis提供了丰富的插件扩展机制,允许开发人员自定义插件来增强或修改MyBatis的行为。插件可以在SQL执行前后、参数处理前后等不同阶段进行拦截和干预。

总结来说,MyBatis是一个轻量级的持久层框架,通过XML配置或注解来定义SQL映射关系,并提供了灵活的动态SQL查询、对象-关系映射等功能,使得开发人员可以更方便地操作数据库。同时,MyBatis还具有缓存机制、注解支持和插件扩展等特性,进一步提升了开发效率和可扩展性。

C.Mybatis框架的一些应用场景 

MyBatis在如今的Java开发中广泛应用于以下几个方面:

C1.Web应用开发:

MyBatis可以与各种主流的Java Web框架(如Spring MVC、Spring Boot、Struts等)结合使用,用于处理Web应用程序中的持久层数据访问。通过定义SQL映射关系,可以方便地进行数据库的查询、插入、更新和删除等操作。

C2.微服务架构

随着微服务架构的兴起,许多企业开始将大型应用拆分为一组独立的微服务。在每个微服务中,MyBatis可以作为持久层框架用于处理数据访问。通过MyBatis提供的灵活的SQL查询和对象-关系映射功能,可以方便地对微服务的数据库进行操作。

C3.数据处理和ETL

MyBatis可以作为一个轻量级的数据处理工具,用于执行批量数据处理和Extract-Transform-Load (ETL) 操作。通过编写简单的SQL语句,并结合MyBatis提供的批量操作和动态SQL功能,可以高效地处理大量的数据。

C4.批处理应用

在后台批处理应用中,MyBatis可以用于执行复杂的数据查询和更新操作。通过MyBatis的一级缓存和二级缓存机制,可以提高批处理应用的性能,并有效地管理数据库连接和事务。

C5.数据库工具和管理系统

MyBatis提供了用于管理和操作数据库的工具和接口,可以方便地进行数据访问和管理。开发人员可以使用MyBatis的API和工具来执行各种数据库操作,如数据导入、数据备份、数据迁移等。

C6.总结

总而言之,MyBatis在如今的Java开发中被广泛应用于Web应用开发、微服务架构、数据处理和ETL、批处理应用以及数据库工具和管理系统等领域。它提供了简单且灵活的方式来处理数据访问,并且与其他主流的Java框架和技术集成良好。

D.学习MyBatis重要动力!

提高数据库访问效率

MyBatis可以帮助你优化数据库访问性能。它通过提供一级缓存和二级缓存机制来减少对数据库的频繁查询,提高了系统的响应速度和整体性能。学习MyBatis可以帮助你学会如何正确地使用缓存机制,从而提高数据库查询效率。

简化数据访问层的开发

MyBatis通过将SQL语句与Java代码进行解耦,使得数据访问层的开发更加简单和易于维护。学习MyBatis可以帮助你理解如何使用XML或注解来定义SQL映射关系,以及如何执行各种数据库操作(如查询、插入、更新和删除)。这将大大减少编写繁琐的JDBC代码的工作量。

灵活的动态SQL查询

MyBatis提供了灵活的动态SQL查询功能,可以根据不同的条件动态构建SQL语句。这使得你能够根据具体业务需求编写复杂的查询语句,而无需额外的复杂逻辑。学习MyBatis可以帮助你掌握动态SQL的使用方法,提高查询的灵活性和可扩展性。

对象-关系映射(ORM)支持

MyBatis支持将查询结果映射为Java对象,简化了数据的获取和处理过程。通过学习MyBatis,你可以了解如何使用对象-关系映射(ORM)来将数据库表的数据映射到Java对象中,从而方便地操作数据。

与其他框架的集成

MyBatis与其他主流的Java框架(如Spring、Spring Boot等)集成良好。学习MyBatis可以帮助你了解如何将MyBatis与这些框架结合使用,以实现更完整的应用程序开发。

综上所述,学习MyBatis能够提高数据库访问效率,简化数据访问层的开发,实现灵活的动态SQL查询,支持对象-关系映射(ORM),以及与其他框架的集成。这些都是在日常Java开发中非常有价值的技能。无论是从事Web开发、微服务架构还是其他与数据库相关的工作,学习MyBatis都会对你的开发技能和职业发展有积极的影响。

二.将My'batis部署在IDEA 中,并且实施增删修查!

A.Mybatis配置环境 

A1.导入依赖

直接替换pom的xml文件的内容


        1.8
        1.8
    

    
        
        
            junit
            junit
            4.12
            test
        

        
        
            javax.servlet
            javax.servlet-api
            4.0.0
            provided
        

        
        
            org.mybatis
            mybatis
            3.4.5
        

        
        
            mysql
            mysql-connector-java
            5.1.44
        

        
        
        
        
        
            org.apache.logging.log4j
            log4j-core
            2.9.1
        
        
            org.apache.logging.log4j
            log4j-api
            2.9.1
        
        
        
            org.apache.logging.log4j
            log4j-web
            2.9.1
        


这段配置文件配置在 file-Name后面

        
            
            
                src/main/java
                
                    **/*.xml
                
            
            
            
                src/main/resources
                
                    jdbc.properties
                    *.xml
                
            
        

导入插件

 
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    
                    
                        mysql
                        mysql-connector-java
                        5.1.44
                    
                
                
                    true
                
            

B.加载数据库配置文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=数据库名字
jdbc.password=数据库密码

C.修改web.xml版本


D.下载插件

Free mybatis plugin

Mybatis generator

mybatis tools

maven helper 

以上四个,用于mybatis开发的插件

配置:mybatis.cfg.xml,generatorConfig.xml,

?xml version="1.0" encoding="UTF-8"?>


    
    

    
        
    

    
    
        
    


    
    
        
            
            

            
            
            
            
            
                
                
                
                
            
        
    

    
        
    




    
    

    
    

    
    
        
        
            
             
        

        
        

        
        
            
            
        

        
        
        
        
            
            
            
            
            
            
            
            
        

        
        
            
            
        

        
        
        
        
        
            
            
        

        
        
        
        
        
        
               
               
            
            
            
            
        

        

F.运行结果

一般文章让你了解mybatis,以及如今在Java开发的地位!_第1张图片

 自动生成代码,和实现方法

一般文章让你了解mybatis,以及如今在Java开发的地位!_第2张图片

 一般文章让你了解mybatis,以及如今在Java开发的地位!_第3张图片

G.测试方法

package com.lz.demo;

import com.lz.biz.BookBiz;
import com.lz.biz.impl.BookBizImpl;
import com.lz.mapper.BookMapper;
import com.lz.model.Book;
import com.lz.utils.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * @author lz
 * @create 2023-08-20 22:56
 */
public class demo1 {
    private SqlSession  sqlSession;
    private BookBiz  bookBiz;


    @Before
    public   void  a(){
        System.out.println("刘兵是傻逼");
        sqlSession= SessionUtil.openSession();
        BookBiz bookBiz = new BookBizImpl();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        ((BookBizImpl) bookBiz).setBookMapper(mapper);
        this.bookBiz=bookBiz;
    }
    @After
    public   void  b(){
        System.out.println("刘兵不是傻逼");
    }

    @Test
    public   void   test1(){
        System.out.println("测试方法");
        Book book = bookBiz.selectByPrimaryKey(25);
        System.out.println(book);
    }
    @Test
    public   void   test2(){
        int i = bookBiz.deleteByPrimaryKey(25);
       
    }
}

一般文章让你了解mybatis,以及如今在Java开发的地位!_第4张图片

 一般文章让你了解mybatis,以及如今在Java开发的地位!_第5张图片

你可能感兴趣的:(mybatis,mybatis,java,开发语言,maven,intellij-idea)