使用IDEA创建项目并实现springboot与mybatis整合

使用idea创建一个springboot+mybatis+mysql的简单项目,并且使用mybatis-generator生成逻辑代码

    毕业一年了,想自己做一些小项目提升一下自己。于是瞄上了最近很火的springboot技术,之前在学校使用过springMVC框架+mybatis + mysql写过一些项目(拿了别人的代码框架,依葫芦画瓢写一写自己的业务逻辑)。之前并不会使用git去保管代码,现在想把之前的框架用一用都不行了,代码早已不知道在哪里。于是想自己试着整合一下(虽然可以直接到网上拿别人的框架用,但是不如自己试着搭建来的深刻,学习应当循序渐进),虽然看似简简单单的小事情,但真的做起来会有一大堆莫名其妙的问题出现,磕磕碰碰,花的时间可不少(特别是初学者而言?我也是哈哈哈哈)。

   使用springboot(免配置真的爽歪歪,新手用ssh框架感觉跟吔了s一样难受,眼花缭乱的配置),然后使用比较流行的mybatis持久层框架来对数据库进行操作,方便快捷。对比hibernate框架,mybatis有自己的优缺点,如何选择视具体情而定,比较如下:

(1)sql方面:mybaits通过mapper.xml维护映射结果,程序员手动编写sql相比hibernate自动生成hql(hibernate sql)更加灵活,sql调优更加容易(hibernate因为更好的封装性,开发效率提高的同时,sql语句调优要更费力,当然可以手动修改sql来优化,但是同时也会影响开发效率);hibernate的hql数据库移植性更好,体现在强壮性。hibernate在级联删除的时候效率低;数据量大, 表多的时候,基于关系操作会变得复杂。

(2)缓存方面:mybatis和hibernate都可以使用第三方缓存,而hibernate相比maybatis有更好的二级缓存机制。

mybatis是使用xxxxMapper.xml来建立映射关系的,可以使用代码生成工具mybatis-generator来生成基本代码和相应的xml(谁用谁知道)。

使用开发神器IDEA来进行开发,社区版免费,而专业版教育免费(学生、老师免费)。

springboot入门教程

本次整合的代码:

先贴上demo的代码地址:https://github.com/SakuraLu/springbootDemo.git

话不多说,开始本次创建项目之旅。

第一步:新建Springboot项目

新建一个项目:

使用IDEA创建项目并实现springboot与mybatis整合_第1张图片

选择Spring Initializr,并且点击下一步

使用IDEA创建项目并实现springboot与mybatis整合_第2张图片

输入你的groupID和Atifact,并且选择Maven Project

使用IDEA创建项目并实现springboot与mybatis整合_第3张图片

勾选这两个,然后点击完成即可。

使用IDEA创建项目并实现springboot与mybatis整合_第4张图片

第二步:创建目录结构

创建好层次分明目录结构:控制器(controller)、service接口、service实现、实体类、dao等包。

使用IDEA创建项目并实现springboot与mybatis整合_第5张图片

第三步:maven配置文件

编辑maven工程的pom.xml文件,并且下载springboot和mybatis等依赖。



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.0.RELEASE
         
    
    com.example
    test
    0.0.1-SNAPSHOT
    test
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-websocket
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        

        
            mysql
            mysql-connector-java
            runtime
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

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

            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.7
                
                    true
                    true
                
            

        
    


使用IDEA创建项目并实现springboot与mybatis整合_第6张图片

等待依赖下载完成即可。

第四步:更改项目配置文件(可省略)

项目在创建完成的时候自动生成了一个application.properties的配置文件,但是推荐您使用yml文件,并且可以创建多个配置文件(例如:开发环境使用的application-dev.yml,产品环境使用的配置文件 application-prod.yml)

使用IDEA创建项目并实现springboot与mybatis整合_第7张图片

application.yml文件内容如下:

spring:
  profiles:
    #    指定激活的环境,若是dev则激活的是application-dev.yml,若是prod,激活的就是application-prod.yml文件
    active: dev

application-dev.yml如下:

server:
  port: 8080

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8
    driver-class-name: com.mysql.jdbc.Driver


mybatis:
  #指定mybatis的mapper配置文件的目录
  mapper-locations: classpath:mapping/*Mapper.xml
  type-aliases-package: com.mitel.entity

#showSql
logging:
  level:
    com:
      example:
        mapper : debug

第五步:使用mybatis-generator生成代码

1. 首先在maven的pom.xml文件里添加如下配置,然后重新下载依赖(第三步中的pom.xml文件中已经添加了该依赖,这里无需添加,读者知道便好):



            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.7
                
                    true
                    true
                
            

        

2. 创建并编辑mybatis-generator生成代码所需要的配置文件generatorConfig.xml(这是默认的文件名称,读者最好不要更改),这里,我们把JDBC的配置信息单独开来形成另一个配置文件generatorConfig.properties,两个文件的内容如下:

generatorConfig.properties:

jdbc.driverLocation = /Users/muxue/.m2/repository/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
jdbc.userId=root
jdbc.password=123456

generatorConfig.yml:





    
    

    
    

    

        
        
            
            
        

        
        
            
            
        

        
        
            
        


        
        

            
            
            
            
            
            
            
            
        

        
        
            
        

        
        
            

        

        
        

3. 开始生成代码

在idea的右边有一个maven的按钮,点击之后就能找到刚刚添加的mybatis-generator,双击就可以生成相应代码了(生成的代码的具体在配置文件里都可以配置,这里有一个坑就是:若生成两次代码,xxxxMapper.xml就会又插入一次相关代码,解决办法就是:(1)删除已有的文件在生成(2)生成后,删除掉重复的代码);还有一些坑比如生成withXXXBLOBs文件等,这个可以网上搜一下解决,应该不难。

使用IDEA创建项目并实现springboot与mybatis整合_第8张图片

使用IDEA创建项目并实现springboot与mybatis整合_第9张图片

第六步:修改代码,运行项目

红框内为使用mybatis-generator生成的代码

使用IDEA创建项目并实现springboot与mybatis整合_第10张图片

为生成的XXXMapper类添加注解

使用IDEA创建项目并实现springboot与mybatis整合_第11张图片

编写service和controller,运行项目

service:

使用IDEA创建项目并实现springboot与mybatis整合_第12张图片

controller:

使用IDEA创建项目并实现springboot与mybatis整合_第13张图片

运行测试:

使用IDEA创建项目并实现springboot与mybatis整合_第14张图片

运行成功!!!

第七:扩展

在mybatis-generator生成代码的时候,entity多了一个UserExample类,使用这个类,可以使用Criteria类进行数据库增删查改条件的拼接,这样更方便进行数据库操作,例如:

使用IDEA创建项目并实现springboot与mybatis整合_第15张图片

进一步了解需要自己网上查找资料啦!!!!如有错误望指出。

你可能感兴趣的:(使用IDEA创建项目并实现springboot与mybatis整合)