mybatis逆向工程整合webapp,bootstrap


  • 0x01_创建项目

  • 0x02_相关配置

  • 0x03_添加依赖

  • 0x04_配置mybatis核心配置文件和日志配置文件

  • 0x05_mybatis逆向生成

  • 0x06_整合bootstrap


mybatis逆向工程整合webapp,bootstrap

0x01_创建项目

新建的时候选择java Enterprise ,选择jdk,maven(对Gradle熟悉的,可以自己搭建gradle)等。点击next

mybatis逆向工程整合webapp,bootstrap
image-20221020121803377

选择Web Profile后,idea会自动勾选web项目需要的其他配置。

mybatis逆向工程整合webapp,bootstrap
image-20221020121849984

项目名的填写

mybatis逆向工程整合webapp,bootstrap
image-20221020122032906

0x02_相关配置

首先是maven配置:

打开settings ->Build,Execution,Deployment->Build Tools -> Maven

按你自己需求的修改Maven home path(建议选择本机电脑上装的maven工具的根目录),User settings file(建议选择自己装的maven工具根目录下的conf/settings.xml文件),Local repository(建议选择maven工具中自己配置的maven仓库的根目录 )


其次是tomcat配置:

首先增加artifact

mybatis逆向工程整合webapp,bootstrap

然后配置热部署:

mybatis逆向工程整合webapp,bootstrap
image-20221020122729788

然后启动看一下,浏览器会自动弹出:

mybatis逆向工程整合webapp,bootstrap
image-20221020122913335

以上页面展示的就是index.jsp中的内容。

0x03_添加依赖

pom.xml中添加依赖

我将我自己加的依赖记录在这里:

<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>

<!-- 日志包,方便查看执行信息-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>

<!-- 代码生成工具jar -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>

有更多需求,可以自己加

0x04_配置mybatis核心配置文件和日志配置文件

因为是逆向工程,所以在resources目录下添加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>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 :false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
password="123">
</jdbcConnection> -->

<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true"
userId="root"
password="xxxxxxxxxxxxxxxxx">

</jdbcConnection>

<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->

<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>

<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="xxxxxxxxxxxxxxxxx"
targetProject="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">

<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="xxxxxxxxxxxxxxxxx"
targetProject="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">

<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="xxxxxxxxxxxxxxxxx"
targetProject="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">

<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->

<table tableName="emp" domainObjectName="Emp"
enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" >

<columnOverride column="id" javaType="Integer" />
</table>

</context>
</generatorConfiguration>

注意:

1.上面的targetPackagetargetProject根据自己的实际需求填写

2.还有数据库连接的URLusernamepassword,都结合自己的数据库填写。

3.要根据数据库创建什么实体类和Mapper映射,修改table标签的tableName(数据库表名)和domainObjectName(实体类名)

日志配置文件:

resources目录下创建log4j.properties文件,文件内容如下:

log4j.rootLogger=debug,stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

0x05_mybatis逆向生成

借助测试类生成:

mybatis逆向工程整合webapp,bootstrap

package com.bones.test01;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
* @author : bones
* @version : 1.0
*/

public class GeneratorSqlMap {
public void generator() throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;

File configFile = new File("xxxxxxxxx");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);

}
public static void main(String[] args) throws Exception {
try {
GeneratorSqlMap generatorSqlmap = new GeneratorSqlMap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}

上面的new file需要写自己的generatorConfig.xml的路径,如果不知道的话,可以编译之后copy path.

逆向工程生成的结果:

mybatis逆向工程整合webapp,bootstrap

是不是很爽,hhh

0x06_整合bootstrap

为了前端页面整合的更加优美,于是打算整一个bootstrap其他前端框架估计也差不多。

首先贴上bootstrap的官网:https://www.bootcss.com/

下载bootstrap相关资源文件

到此处下载:

mybatis逆向工程整合webapp,bootstrap
image-20221020130222013

如果你想做研究(指读读源码)那么你可以下载源码;我是用于搭建环境,生产环境的部署,所以就下载了用于生产环境的 Bootstrap

mybatis逆向工程整合webapp,bootstrap

下载下来是这样一个zip文件:

mybatis逆向工程整合webapp,bootstrap

解压得到

mybatis逆向工程整合webapp,bootstrap

将这些目录放到web目录下即可

mybatis逆向工程整合webapp,bootstrap

注意:要在js文件中放入jquery.如果还是无法加载可以尝试看看编译之后的target目录有没有对应的文件(IDEA有时候就比较抽风哈)


原文始发于微信公众号(小东方不败):mybatis逆向工程整合webapp,bootstrap

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/47263.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!