Maven下Springboot整合Mybatis项目(简易搭建)

本文开发环境采用idea,数据库postgreSQL,小白一枚,有问题请指出,由于公司电脑不方便截图,所以操作就文字描述了
一.新建项目
在idea中的File中选New Project-Spring Intitializr --Next–填写项目名–Next-Web(勾上Spring Web)–SQL(勾上JDBC API,Mybatis Framework,PostgreSQL Driver(这里根据自己使用的数据库,本项目采用的PostgresSQL))–Next–Finish

删除生成目录中的mvnw,mvnw.cmd和.mvn(没用)

二.建项目结构
在与启动类同级的包下新建controller(控制层),orm(本文将数据访问层Dao和实体类层model都放置在orm下并且后面会用mybatis的generator插件生成实体类和dao,所以在dao和model下都有新建auto包和manual包,用来识别自己写的方法和自动生成的代码),service层,在resource下新建mybatis/mapper包用来存放生成的映射文件,同样有auto和manual

三.配置mybatis
这里配置文件采用application.yml和application-dev.yml文件(配置文件多环境配置)

application.yml和application.properties文件这两种文件都是Springboot的配置文件,注释都可以用#号来注释,只不过因为application.yml看起来更直观,更清晰。但是要注意一点:properties文件的优先级高于yml文件,即如果两个文件中都配置了端口号,只有properties中的端口号有效,而yml文件中端口配置无效。
application.properties文件,在properties文件中是以”.”进行分割的。
application.properties文件,都是K-V格式,并且通过” : ”引号进行赋值;
具体区别可参考:application.properties和application.yml的区别

spring:
    # 环境 dev:开发环境|test:测试环境|prod:生产环境
    profiles:
        active: dev #激活的配置文件
        (注意:激活application-dev.yml时若其中存在application.yml同名配置时后者的配置属性会被覆盖)

application.yml

spring:
  profiles:
    active: dev

application-dev.yml

端口号
server:
  port: 8080
spring:
  datasource:
    username: 用户名
    password: 密码
    url: jdbc:postgresql://ip地址(数据库连接地址):端口号/数据库名
    driver-class-name: org.postgresql.Driver
#配置mybatis
mybatis:
  #映射文件路径
  mapper-locations: classpath:mybatis/mapper/manual/*.xml
  #模型所在的包名
  type-aliases-package: com.dem.orm.daoX.auto

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

接下来配置Mybatis的generator插件
在resource下新建

mybatis_generator.properties

#mybatis-generator:generate
#指向本地数据库驱动
classPathEntry=D://maven_idea//repository//org//postgresql//postgresql//9.4.1212.jre7//postgresql-9.4.1212.jre7.jar
#数据库连接和驱动
jdbc_driver=org.postgresql.Driver
jdbc_url=jdbc:postgresql://ip地址(数据库连接地址):端口号/数据库名
jdbc_username=用户名
jdbc_password=密码
modelProject=src/main/java
sqlMapperProject=src/main/resources
daoMapperProject=src/main/java
#自动生成的文件路径
modelPackage=com.dem.orm.model.auto
sqlMapperPackage=mybatis.mapper.auto
daoMapperPackage=com.dem.orm.daoX.auto
#表名称
tableName=test

然后在mybatis下新建generator配置并且读取mybatis_generator.properties内的驱动和信息

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">


<generatorConfiguration>

    <properties resource="mybatis_generator.properties"/>
    <!-- 注意以下标签的顺序:property*,plugin*,commentGenerator?,jdbcConnection,
        javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,
        javaClientGenerator?,table+ -->

    <!--数据库驱动jar-->
    <classPathEntry location="${classPathEntry}"/>

    <context id="postgresql" targetRuntime="MyBatis3" defaultModelType="flat">

        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:-->
            <property name="suppressAllComments" value="false"/>
            <!-- 不希望生成的注释中包含时间戳 -->
            <property name="suppressDate" value="true"/>
            <!-- 是否  自动为每一个生成的类创建一个构造方法-->
            <property name="constructorBased" value="false"/>
        </commentGenerator>
        <!--数据库连接 -->
        <jdbcConnection driverClass="${jdbc_driver}"
                        connectionURL="${jdbc_url}"
                        userId="${jdbc_username}"
                        password="${jdbc_password}">
        </jdbcConnection>

        <!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="true"/>
        </javaTypeResolver>

        <!-- 生成model模型,对应的包,存放位置可以指定具体的路径,/ProjectName/src,也可以使用MAVEN来自动生成 -->
        <javaModelGenerator targetPackage="${modelPackage}" targetProject="${modelProject}">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="false"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--对应的xml mapper文件  -->
        <sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="${sqlMapperProject}">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 对应的dao接口 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="${daoMapperProject}">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>


        <!--对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等-->
        <table tableName="${tableName}"></table>
        <!-- enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">  指定是否生成操作数据库对应的方法 -->

    </context>
</generatorConfiguration>

接下来点击右侧的maven 选择项目名下的Plugins 会看到有mybatis-generator,点开第一个直接run就完成了!!!
接下来的业务逻辑和Service层都由自己去完成了,映射文件中会自动生成一些SQL语句,需要使用也可以直接调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值