IDEA--Mybatis插件

                                                                     文章目录

什么是 MyBatis?

一、搭建mybatis框架环境

1️⃣导入相关pom.xml依赖

2️⃣mybatis相关插件安装

3️⃣mybatis.cfg.xml配置

二、基于ssm逆向工程的使用

1️⃣安装mybatis generator插件

2️⃣配置generatorConfig.xml

3️⃣配置maven运行generator命令

 Mybatis generator插件使用步骤小结

4️⃣在pom中处理generatorConfig.xml不能编译问题

三、Mybatis增删改查案例 


什么是 MyBatis?

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录

一款ORM框架,即对象映射关系框架;是一款关于数据库层面的框架

IDEA--Mybatis插件_第1张图片

 IDEA--Mybatis插件_第2张图片

IDEA--Mybatis插件_第3张图片

一、搭建mybatis框架环境

搭建mybatis框架环境之前,我们先创建一个maven项目

IDEA--Mybatis插件_第4张图片

1️⃣导入相关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
        

            
     
         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
                
    

连接数据库 

IDEA--Mybatis插件_第5张图片

IDEA--Mybatis插件_第6张图片

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/sys?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456

2️⃣mybatis相关插件安装

Free mybatis plugin

IDEA--Mybatis插件_第7张图片

Mybatis generator

IDEA--Mybatis插件_第8张图片

mybatis tools

IDEA--Mybatis插件_第9张图片

maven helper 

IDEA--Mybatis插件_第10张图片

这边搜索了一个博主,详细讲解了idea插件的作用,大家可以看看

Intellij Idea Mybatis 插件(plugin和tools插件)_yangshijin1988的博客-CSDN博客_idea mapper 插件

导入web.xml

IDEA--Mybatis插件_第11张图片


3️⃣mybatis.cfg.xml配置




    
    

    
        
    

    
    
        
    


    
    
        
            
            

            
            
            
            
            
                
                
                
                
            
        
    

    
        
    


二、基于ssm逆向工程的使用

1️⃣安装mybatis generator插件

IDEA--Mybatis插件_第12张图片

IDEA--Mybatis插件_第13张图片

2️⃣配置generatorConfig.xml




    
    

    
    

    
    
        
        
            
             
        

        
        

        
        
            
            
        

        
        
        
        
            
            
            
            
            
            
            
            
        

        
        
            
            
        

        
        
        
        
        
            
            
        

        
        
        
        
        
        
        
        
        
        
        
        
        

        

注意改动,找到自己的本地仓库地址并拷贝替换喔 ❗❗

 IDEA--Mybatis插件_第14张图片

 IDEA--Mybatis插件_第15张图片IDEA--Mybatis插件_第16张图片

 小结:

1.修改jar包驱动位置

 2.修改实体类生成位置

IDEA--Mybatis插件_第17张图片

 3.修改dao层生成位置

 4.修改配置文件生成位置

 5.要生成哪些或那个表的增删改查   比如t_mvc_Book  t_oa_permission

IDEA--Mybatis插件_第18张图片

3️⃣配置maven运行generator命令

右键Run Maven-->这些都是Maven自带的命令,接下来我们自己加一个命令

IDEA--Mybatis插件_第19张图片

 点击Add Configuration-->IDEA--Mybatis插件_第20张图片

点击加号-->找到Maven 

IDEA--Mybatis插件_第21张图片

添加命令行  mybatis-generator:generate -e

IDEA--Mybatis插件_第22张图片

IDEA--Mybatis插件_第23张图片

看这边,代码就下载生成好了 

IDEA--Mybatis插件_第24张图片

 给大家看一个我在这个过程中所犯的一个小错误

IDEA--Mybatis插件_第25张图片

IDEA--Mybatis插件_第26张图片

IDEA--Mybatis插件_第27张图片

 Mybatis generator插件使用步骤小结:

1.添加配置文件

1.2.修改5.1.44的jar的路径

1.3.修改实体类生成地址

1.4.修改SQL对应的配置文件的生成地址

1.5.修改dao层的生成地址

1.6.指定需要生成增删改查的表

2.配置Maven的逆向生成代码的命令

commond line

3.在pom文件中使用配置好的命令

4️⃣在pom中处理generatorConfig.xml不能编译问题

三、Mybatis增删改查案例 

IDEA--Mybatis插件_第28张图片

SQLSession的作用: 1.可以mapper对象  2.作用缓存使用--一级缓存,默认会开启

                                     3.出于性能的考虑,会采用二级缓存,二级缓存需要手动开启

 IDEA--Mybatis插件_第29张图片

package com.xiaokun.util;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
 * @author 小坤
 * @create 2022-08-10-18:39
 */
public class SessionUtil {
    private static SqlSessionFactory sessionFactory;
    private static ThreadLocal threadLocal = new ThreadLocal();
    static {
        sessionFactory = new SqlSessionFactoryBuilder().build(SessionUtil.class.getResourceAsStream("/mybatis.cfg.xml"));
    }

    public static SqlSession openSession() {
        SqlSession session = threadLocal.get();
        if (null == session) {
            session = sessionFactory.openSession();
            threadLocal.set(session);
        }
        return session;
    }

    public static void main(String[] args) {
        SqlSession session = openSession();
        System.out.println(session.getConnection());
        session.close();
//        System.out.println(session.getConnection());
    }
}


测试逆向生成的代码是否正确

分析:有事务:增加删除修改

           无事务:查询

结论:测试查询删除没问题那么代码就没问题      创建一个BookBiz测试类                                     

IDEA--Mybatis插件_第30张图片

 在其中写上我们需要测试方法

    int deleteByPrimaryKey(Integer bid);

    Book selectByPrimaryKey(Integer bid);

实现接口实现类

IDEA--Mybatis插件_第31张图片

IDEA--Mybatis插件_第32张图片

IDEA--Mybatis插件_第33张图片

package com.xiaokun.biz.impl;

import com.xiaokun.biz.BookBiz;
import com.xiaokun.mapper.BookMapper;
import com.xiaokun.model.Book;

/**
 * @author 小坤
 * @create 2022-08-10-19:14
 */
public class BookBizImpl implements BookBiz {
    //dao层
    private BookMapper bookMapper;

    //alt+insert快速提供set/get/toString/构造方法
    //alt+enter快速构建实现类,填充代码的前半部分 Ctrl+1
    public BookMapper getBookMapper() {
        return bookMapper;
    }

    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }


    @Override
    public int deleteByPrimaryKey(Integer bid) {
        return bookMapper.deleteByPrimaryKey(bid);
    }

    @Override
    public Book selectByPrimaryKey(Integer bid) {
        return bookMapper.selectByPrimaryKey(bid);
    }
}

创建测试类 alt+回车键

IDEA--Mybatis插件_第34张图片

IDEA--Mybatis插件_第35张图片

这个测试类刚创建,其中的代码会报错

IDEA--Mybatis插件_第36张图片

IDEA--Mybatis插件_第37张图片

 看个测试类小错误

 IDEA--Mybatis插件_第38张图片

IDEA--Mybatis插件_第39张图片

 再次去运行一下,没问题了,那就开始测试查询删除方法了IDEA--Mybatis插件_第40张图片

在项目开发中,一般会集成日志框架,日志框架的作用是帮助程序员在开发的过程中快速排查问题,定位问题

先创建一个日志配置文件⬇⬇⬇

IDEA--Mybatis插件_第41张图片





    
        
        /root/workspace/lucenedemo/logs
        /root/workspace/lucenedemo/logs/error
        /root/workspace/lucenedemo/logs/warn
        %d{yyyy-MM-dd HH:mm:ss.SSS} [%t-%L] %-5level %logger{36} - %msg%n
    

    
        
        
            
            
            
            
            
        

        
        
        
            
        
        
        
            
            
            
            
                
                
                
                
                
                
            
        

        
            
            
            
                
                
            
            
            
        

        
            
            
            
                
                
                
            
        

    

    
    
        
        
        

        
        
        
        
        
        


        
        
            
            
            
            
        

    

查询方法

IDEA--Mybatis插件_第42张图片

导入日志配置文件后的查询结果

IDEA--Mybatis插件_第43张图片

 删除方法IDEA--Mybatis插件_第44张图片

 IDEA--Mybatis插件_第45张图片

 IDEA--Mybatis插件_第46张图片

IDEA--Mybatis插件_第47张图片

测试类BookBizImplTest

package com.xiaokun.biz.impl;

import com.xiaokun.biz.BookBiz;
import com.xiaokun.mapper.BookMapper;
import com.xiaokun.model.Book;
import com.xiaokun.util.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.*;

/**
 * @author 小坤
 * @create 2022-08-10-19:46
 */
public class BookBizImplTest {
    private BookBizImpl bookBiz;
    private SqlSession sqlSession;

    @Before
    public void setUp() throws Exception {
        System.out.println( "初始化方法...");
        BookBizImpl bookBiz=new BookBizImpl();
        //从工具类中拿session
        sqlSession = SessionUtil.openSession();
        //从session对象中获取mapper对象
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        bookBiz.setBookMapper(mapper);
        this.bookBiz=bookBiz;
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("方法测试结束...");
        sqlSession.commit();//提交会话
        sqlSession.close();//关闭
    }

    @Test
    public void deleteByPrimaryKey() {
        bookBiz.deleteByPrimaryKey(44);
    }

    @Test
    public void selectByPrimaryKey() {
        System.out.println("测试的业务方法...");
        /*System.out.println(bookBiz.getBookMapper());*/
        System.out.println(bookBiz.selectByPrimaryKey(44));

    }
}

小编有话说:近期有很多小伙伴在看这篇文章,小编大致检查一遍,发现有很多部分还需改进,所以做了一点代码上的修改。欢迎各位在评论区留言!

你可能感兴趣的:(intellij-idea,java,ide)