如何快速白嫖 Github 2.1k Star 的论坛项目
今天就给大家讲讲如何白嫖 Github 2.1k star 的论坛项目,码问为了轻量级部署使用的是 H2 数据库,其本质也是让大家拿到代码以后零成本的轻量部署,但是如果想通过 MySQL 运行怎么办?就让我带大家一起吧
第一步,克隆项目
git clone https://github.com/codedrinker/community.git
第二步,自行安装 MySQL
保证本地 MySQL 运行正常,创建数据库 community
CREATE DATABASE `community` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
第三步,修改配置文件
1. 修改数据库配置
修改数据库配置文件 pom.xml
,修改 profiles 里面的 properties 内容。
<profiles>
<profile>
...
</profile>
<profile>
<id>mysql</id>
<properties>
<db.url>jdbc:mysql://127.0.0.1:3306/</db.url>
<db.user>root</db.user>
<db.password></db.password>
<db.driver>com.mysql.jdbc.Driver</db.driver>
</properties>
</profile>
</profiles>
修改 spring 配置文件 application.properties ,以便可以使用一套数据库配置
[email protected]@community?useUnicode=true&characterEncoding=UTF-8
[email protected]@
[email protected]@
[email protected]@
2. 修改 flyway 配置
修改 pom.xml 配置文件中的 org.flywaydb plugin,增加数据库名称后缀,以便可以使用一套数据库配置
<plugin>
...
<groupId>org.flywaydb</groupId>
<configuration>
<url>${db.url}community</url>
...
</plugin>
3. 修改 generator 配置
增加 MySQL 驱动
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<dependencies>
...
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
...
</dependencies>
</plugin>
修改 generatorConfig.xml 文件,增加占位符,配合 maven filter,以便可以使用一套数据库配置
<jdbcConnection
driverClass="@db.driver@"
connectionURL="@db.url@community"
userId="@db.user@"
password="@db.password@">
</jdbcConnection>
<plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>
<jdbcConnection
driverClass="@db.driver@"
connectionURL="@db.url@community"
userId="@db.user@"
password="@db.password@">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
在 build 标签里面增加 resources,配置 maven filting 的生效目录,配置生效以后可以替换所有 directory
目录下的占位符。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
在 pom.xl 里面指定 org.mybatis.generator plugin 位置修改 generatorConfig.xml 执行路径,因为执行 filting 以后替换占位符的文件会存放在 target 里面。
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite>
<configurationFile>${basedir}/target/classes/generatorConfig.xml</configurationFile>
</configuration>
...
</plugin>
第四步,运行
1. 运行 flyway
运行 flyway:migrate,目的是把我们需要创建的 DB 文件进行初始化,其中 -Pmysql 是为了指定对应的 maven profile
mvn flyway:migrate -Pmysql
2. 运行 mybatis-generator
运行 generator 是为了生成逆向文件,留心的朋友可能注意到,原来的需要 override 的配置不见了,因为这个配置已经转移到了 pom.xml
文件。
mvn package mybatis-generator:generate -Pmysql
3. 修改 * ExtMapper.xml
因为之前 * ExtMapper.xml 是自定义的,MySQL 默认不支持大写,所以需要全部修改成小写。
4. 启动
使用 IDEA 直接运行 CommunityApplication 或者使用如下命令运行
mvn clean compile -DskipTests package -Pmysql
nohup java -jar target/community-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &