在下因工作变动来到某某运维项目组,成(伪)为(装)一名运维工作人员。
本系列记录在本项目组搭建开发运维后台管理项目的开发过程,作为自己学习进步的记录,也方便日后查资料
好了,废话补多少直接上干货了。
﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’﹋~~﹋ ̄﹋~~〕’
1.整合mybatis+mysql+mybatis-generator
在pom文件中加入依赖配置
<!--整合mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!-- mybatis的分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<!--整合mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
在build标签的plugs中加入如下配置
<!--mybatis自动生成代码插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
如果是idea的话右下角会提示(联网的前提下)import xxxx。点击import xxxxx导入
在application.properties中加入配置
#应用名称
spring.application.name=ydrs-quartz
server.servlet.context-path: /ydrs-quartz
#访问端口号
server.port=8080
#编码格式
server.tomcat.uri-encoding=utf-8
#配置数据库
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ydrs_quartz?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
#配置mybatis
mybatis.mapper-locations= classpath:mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
其中项目名称,路径以及数据库的配置需要根据自己本地现有的资源来配置
2.增加generatorConfig.xml配置文件
添加mybatis的自动构建配置文件,在application.properties的同级目录下新建文件
文件内容:
<?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>
<!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 -->
<classPathEntry
location="C:\Users\Mr.Li\Desktop\work\yd_work\mvn_lib\springboot_mvn_libs\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar"/>
<!-- 一个数据库一个context -->
<context id="DB2Tables" targetRuntime="Mybatis3">
<!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
<property name="autoDelimitKeywords" value="true"/>
<!-- 生成的Java文件的编码 -->
<property name="javaFileEncoding" value="utf-8"/>
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- 格式化java代码 -->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!-- 格式化XML代码 -->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!--配置生成注释信息,最多配置一个 -->
<commentGenerator>
<!-- 阻止生成注释包含时间戳 默认为false -->
<property name="suppressDate" value="true"/>
<!-- 注释是否添加数据库表的备注信息 默认为false -->
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!-- jdbc连接-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/ydrs_quartz?useUnicode=true&characterEncoding=utf8"
userId="root"
password="root"/>
<!-- 类型转换 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成实体类地址 -->
<javaModelGenerator targetPackage="com.ydrs.entity" targetProject="src/main/java">
<!-- 是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
<!-- 从数据库返回的值去掉前后空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成map.xml文件存放地址 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成接口dao type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口 -->
<javaClientGenerator targetPackage="com.ydrs.dao" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 enableSelectByPrimaryKey相应的配置表示是否生成相应的接口 -->
<table tableName="sys_user" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
这里需要改一下数据库的连接串,以及数据库的驱动文件需要指向自己的本地文件(注意一下版本问题),按照文件中的注释应该都看的懂。最后啰嗦一句,table标签中的tableName要改成自己要生成的表名,在代码包创建自己的目录结构:dao/entity/mapper,下面是我的目录结构,可做参考:
3.配置generator的启动方式
点击Edit Configurations...
点击添加,选择maven
加入一下内容。name可以自己命名
mybatis_generator
mybatis-generator:generate -e
点击apply,然后ok
直接运行即可
运行后生成entity/dao/mapper
这里要注意一下,如果dao/mapper/entity已经自己修改过了,再次运行就会直接覆盖掉,所以如果自己写了新的方法和sql如果需要重新生成最好将自己的东西先备份一下。还有这里博主在启动的时候spring boot不认得dao文件,在dao层需要家上@mapper注解才能正常启动,也可以在application中统一配置dao层路径
如果有报错要看具体情况,一半是maven环境变量之类的问题
篇幅有限,下一篇写一写根据本篇生成的几层结构来实现mvc结构的增删改查逻辑