Intellij IDEA 2017集成MyBatis三剑客

MyBatis三剑客指的是:MyBatis-Generate、Mybatis Plus、MyBatis-PageHelper


MyBatis-Generate

使用 Mybatis Generator 这个maven插件来快速生成 Dao 类, mapper 配置文件和 Model 类.

MyBatis Generator(简称MBG)是MyBatis的代码生成器.可以自动查询数据库中的所有表,然后生成可以访问表的基础对象类型.解决了对数据库操作有最大影响的一些简单的CRUD增删改查操作,但是仍需要对联合查询和存储过程手写SQL语句和对象.

MyBatis Generator中文文档

1.在pom文件中添加插件


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

     
     
     
     

    2.在maven项目中的resource中创建xml文件与properties资源文件


    - 名称可以随便取,这里以 generatorConfig.xml 为名
    - 资源文件为 datasource.properties 文件,这个可不要,这里用是因为方便管理而已

    3.配置generatorConfig.xml与资源文件

    generatorConfig.xml

    "1.0" encoding="UTF-8"?>
    "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
    
        
        "datasource.properties">
    
        
        "${db.driverLocation}"/>
    
        "default" targetRuntime="MyBatis3">
    
            
            
                "suppressDate" value="true"/>
                "suppressAllComments" value="true"/>
            
    
            
            "${db.driverClassName}"
                    connectionURL="${db.url}"
                    userId="${db.username}"
                    password="${db.password}">
            
    
    
            
            
                "forceBigDecimals" value="false"/>
            
    
    
            
            
            "org.mmall.pojo" targetProject="./src/main/java">
                
                "enableSubPackages" value="false"/>
                
                "constructorBased" value="true"/>
                
                "trimStrings" value="true"/>
                
                "immutable" value="false"/>
            
    
            
            
            "mappers" targetProject="./src/main/resources">
                "enableSubPackages" value="false"/>
            
    
            
    
            
            
            type="XMLMAPPER" targetPackage="org.mmall.dao" targetProject="./src/main/java">
                
                "enableSubPackages" value="false" />
            
    
    
            "mmall_shipping" domainObjectName="Shipping" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_cart" domainObjectName="Cart" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_cart_item" domainObjectName="CartItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_category" domainObjectName="Category" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_order" domainObjectName="Order" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_order_item" domainObjectName="OrderItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_pay_info" domainObjectName="PayInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    "mmall_product" domainObjectName="Product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> "detail" jdbcType="VARCHAR" /> "sub_images" jdbcType="VARCHAR" />
    "mmall_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">

      datasource.properties

      db.driverLocation =  E:\\jre\\mysql-connector-java-5.1.6.jar
      db.driverClassName = com.mysql.jdbc.Driver
      db.url = jdbc:mysql://127.0.0.1:3306/mmall?characterEncoding=utf-8
      db.username = root
      db.password = root
           
           
           
           
      • 1
      • 2
      • 3
      • 4
      • 5

      4.运行
      - 方式一:

      - 方式二:
      - 在Intellij IDEA添加一个“Run运行”,这个少用 略

      Mybatis-Plus

      Mybatis Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
      Mybatis Plus中文文档

      1.功能

      • 提供Mapper接口与配置文件中对应SQL的导航
      • 编辑XML文件时自动补全
      • 根据Mapper接口, 使用快捷键生成xml文件及SQL标签
      • ResultMap中的property支持自动补全,支持级联(属性A.属性B.属性C)
      • 快捷键生成@Param注解
      • XML中编辑SQL时, 括号自动补全
      • XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数)
      • 自动检查Mapper XML文件中ID冲突
      • 自动检查Mapper XML文件中错误的属性值
      • 支持Find Usage
      • 支持重构从命名
      • 支持别名
      • 自动生成ResultMap属性
      • 快捷键: Option + Enter(Mac) | Alt + Enter(Windows)

      2.安装与破解

      • 这是一个IDE插件,目前是收费的,这里我用的是Intellij IDEA的
      • 装完之后把Intellij IDEA关了,然后打开下面的链接跟着步骤来就可以大功告成
        插件注册机

      MyBatis-PageHelper

      这个一个通用的分页插件,使用时 Mybatis 最低版本不能低于3.3
      原理:通过aop再截获我们执行sql的时候把相关的数据再执行一次
      GitHub地址

      1.在pom文件中添加依赖

      
      
          com.github.pagehelper
          pagehelper
          4.1.0
      
      
      
          com.github.miemiedev
          mybatis-paginator
          1.2.17
      
      
      
          com.github.jsqlparser
          jsqlparser
          0.9.4
      
           
           
           
           

        2.在spring配置文件内添加配置

        "sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            "dataSource" ref="dataSource"/>
            "mapperLocations" value="classpath*:mappers/*Mapper.xml">
        
            
            "plugins">
                
                    "com.github.pagehelper.PageHelper">
                        "properties">
                            
                                
                                dialect=mysql
                            
                        
                    
                
            
        
             
             
             
             

          累了就先写这么多了,不明白的地方请留言问,以后还会更新!

          你可能感兴趣的:(idea,插件,idea)