SpringBoot下使用mybatis的逆向工程

小白级别、超详细的在springboot项目中使用mybatis的逆向工程图文解析

mybatis提供逆向工程是干嘛的?
通过数据库的表单,自动产生javabean以及相关的CRUD代码。

一、创建SpringBoot项目

SpringBoot版本:1.5.20.RELEASE
使用IDEA编译器软件,直接创建新的SpringBoot项目
SpringBoot下使用mybatis的逆向工程_第1张图片
SpringBoot下使用mybatis的逆向工程_第2张图片
SpringBoot下使用mybatis的逆向工程_第3张图片
SpringBoot下使用mybatis的逆向工程_第4张图片
SpringBoot下使用mybatis的逆向工程_第5张图片

二、在MySQL数据库中创建一张表

我这里使用Navicat可视化工具连接mysql进行操作:

创建person表,属性:id(主键),name,age,address,各个字段的类型以及长度随意。
SpringBoot下使用mybatis的逆向工程_第6张图片

三、修改pom.xml,引入必要依赖包和插件

在dependencies中加入这两个jar包:
com.alibaba.druid是我使用的阿里巴巴的druid连接池(其实直接使用jdbc连接就可以,这里我也只是想多融合点东西)
mysql-connector-java:其实选择在选择jdbc模块时,springboot就已经导入了,可以在pom.xml里面的中看到,但是这里不写,我测试CRUD时会报错。
SpringBoot下使用mybatis的逆向工程_第7张图片
向工程中引入mybatis-generator插件
注意:< build >和< dependencies >是同级关系

 
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            

            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                
                    
                        mysql
                        mysql-connector-java
                        5.1.47
                    
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.2
                    
                
                
                    
                        Generate MyBatis Artifacts
                        package
                        
                            generate
                        
                    
                
                
                    
                    true
                    
                    false
                    
                    
                        src/main/resources/mybatis-generator.xml
                    
                
            
        

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

附完整pom.xml代码:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.20.RELEASE
         
    
    com.song
    mybatistest
    0.0.1-SNAPSHOT
    mybatistest
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.4
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.projectlombok
            lombok
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            com.alibaba
            druid
            1.1.8
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                
                    
                        mysql
                        mysql-connector-java
                        5.1.47
                    
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.2
                    
                
                
                    
                        Generate MyBatis Artifacts
                        package
                        
                            generate
                        
                    
                
                
                    
                    true
                    
                    false
                    
                    
                        src/main/resources/mybatis-generator.xml
                    
                
            
        
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
            
        
    



四、添加mybatis-generator.xml配置文件

通过对mybatis-generator.xml的配置,我们需要配置自动生成的javabean对象、Dao类以及Mapper.xml存放的位置等,具体信息可以看我的配置文件的注释(有些也是我copy其他博客的),具体可以参考一个链接(突然找不到了,之后补上)。
mybatis-generator.xml配置文件放在…\src\main\resources下

SpringBoot下使用mybatis的逆向工程_第8张图片
mybatis-generator.xml的源码:




    
        
            
            
        
        
        
        
        
        
            
        
        
        
            
            
            
        
        
        
            
            
        
        
        
        
            
        
        
        
        

五、使用mybatis-generator插件

找到右侧maven快捷按钮
SpringBoot下使用mybatis的逆向工程_第9张图片
在插件中找到我们要用的mybatis-generator插件,双击或者右键菜单后选择运行。
SpringBoot下使用mybatis的逆向工程_第10张图片
查看运行插件后结果:
会自动在这3个路径下生成javabean、dao以及mapper.xml,至于为什么是这个路径以及包名问题,在之前的mybatis-generator.xml中已经配置好了,没看懂的可以回头对照着看看。
SpringBoot下使用mybatis的逆向工程_第11张图片
但这一步,mybatis的逆向工程其实就已经大功告成,毕竟mybatis的逆向工程就只是用来通过数据库表来产生java代码。

六、测试

我这里用的是springboot自带的单元测试来测试的,在测试前我们还有其他额外工作要做:

1.添加mybatis-config.xml配置文件

由于这里我们只是测试,没用到什么强大的功能,因此我就配置了个驼峰命名法,意思意思下……
SpringBoot下使用mybatis的逆向工程_第12张图片

2.配置项目的application.xml或者application.yml文件

我这里使用的yml格式的配置文件,application.*ml配置文件是告诉spring要连接的数据库相关信息,以及告诉mybatis它的配置信息和CRUD操作的文件存放在哪里。
SpringBoot下使用mybatis的逆向工程_第13张图片

3.写测试代码

注意:确保本机的mysql服务是启动的,不确定的可以先看看:
方法是:首先win+R,然后输入services.msc+enter,最后在服务列表中找mysql的服务,如果没有开启就手动启动就好。
mysql

import com.song.mybatistest.bean.Person;
import com.song.mybatistest.dao.PersonMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatistestApplicationTests {

    @Autowired
    private PersonMapper personMapperImp;

    @Test
    public void contextLoads() {

        Person person = new Person();
        person.setId(1);
        person.setAge(18);
        person.setName("小明");
        person.setAddress("中国四川成都");
        personMapperImp.insert(person);
    }

}

测试结果:

控制台没有报错,绿色!!!
SpringBoot下使用mybatis的逆向工程_第14张图片
在看看数据库里面的数据:
SpringBoot下使用mybatis的逆向工程_第15张图片

由于水平有限,如果内容存在什么问题恳请纠正!有疑问欢迎留言~~~~

你可能感兴趣的:(mybatis)