1 Star 1 Fork 1

仰望蓝天 / springboot-mybatis-plus3-demo

加入 Gitee
与超过 800 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

SpringBoot-MyBatis-plus3-demo项目

项目简介

    SpringBoot + Shiro + Mybatis-plus3 + Freemark + Mysql8

项目初始目录结构

    .idea文件夹                存放项目的配置信息   eg:包括数据源,类库,项目字符编码,历史记录,版本控制信息等
    .mvn文件夹                 存放mvnw相关文件    eg:存放着maven-wrapper.properties和相关jar包以及名为MavenWrapperDownloader的java文件
    src文件夹                  存放项目代码
    .gitignore                 Git提交时需要忽略的文件
    mvnw                       mvnw是一个maven wrapper script,它可以让你在没有安装maven或者maven版本不兼容的条件下运行maven的命令
    mvnw.cmd                   执行mvnw命令的cmd入口  
    pom.xml                    进行maven依赖管理的文件
    .iml                       intellij idea的工程配置文件,里面包含当前project的一些配置信息,如模块开发的相关信息,比如java组件,maven组件,插件组件等,还可能会存储一些模块路径信息,依赖信息以及一些别的信息。

项目开始

    1.创建controller类访问页面时报错,在application.properties文件中配置
    spring.freemarker.suffix=.html   设置freemark访问的静态文件是以html为后缀的文件
    
    2.将SpringBoot自带的以main方法启动改为以tomact启动
        1、Application类继承 SpringBootServletInitializer 类,并重写 configure 方法
        
            @Override
        	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        		return application.sources(Application.class);
        	}
        	
        2、在需要启动的模块中加入 <packaging>war</packaging> 
        
                <groupId>com</groupId>
                <artifactId>lqf</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <packaging>war</packaging>
        
        3、在 spring-boot-starter-web 依赖包下排除 spring-boot-starter-tomcat 包
                <dependency>
        			<groupId>org.springframework.boot</groupId>
        			<artifactId>spring-boot-starter-web</artifactId>
        			<exclusions>
        				<exclusion> 
        					<groupId>org.springframework.boot</groupId>
        					<artifactId>spring-boot-starter-logging</artifactId>
        				</exclusion>
        				<exclusion>
        					<groupId>org.springframework.boot</groupId>
        					<artifactId>spring-boot-starter-tomcat</artifactId>
        				</exclusion>
        			</exclusions>
        		</dependency>
        		
        4、将 spring-boot-starter-tomcat 里的scope改成provided
                <!--打war包时, 告诉spring-boot tomcat相关jar包用外部的,不要打进去-->
        		<dependency>
        			<groupId>org.springframework.boot</groupId>
        			<artifactId>spring-boot-starter-tomcat</artifactId>
        			<scope>provided</scope>
        		</dependency>
        		
        5、引入插件 maven-war-plugin
                <!--maven打包时需要用到的插件-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                
        6、一定要先Reimport下pom文件,最后导入tomact。

更改logo

    1、更改页面访问的logo图标
        在resources文件夹下添加你想要的logo图片,图片名字起为 favicon.ico 
    2、更改项目启动的logo图标
        在resources文件夹下添加一个 banner.txt 文件,在此文件里添加你需要的logo

SpringBoot 连接 Mysql 数据库

    参考文档:https://www.cnblogs.com/liangblog/p/5228548.html
    
    此文章介绍的连接方式有两种:一种是利用JdbcTemplate,另一种是 集成Mybatis
    
    这里我选择的是阿里开源的 Druid 数据库连接池
        1、在pom文件中引入 Druid
                <dependency>
        			<groupId>com.alibaba</groupId>
        			<artifactId>druid</artifactId>
        			<version>1.0.23</version>
        		</dependency>
        
        2、在 application.properties 文件中配置与Druid相关的配置
        Druid配置的参数参考:https://www.cnblogs.com/wuyun-blog/p/5679073.html 文档
        
        3、在pom文件中引入 mysql 连接器
                    <!-- Mysql连接器 -->
            		<dependency>
            			<groupId>mysql</groupId>
            			<artifactId>mysql-connector-java</artifactId>
            			<version>8.0.13</version>
            		</dependency>
            		
        4、mysql 8以后的版本和 mysql 5 的版本所有改变
            mysql 8 的驱动类改为: com.mysql.cj.jdbc.Driver
            mysql 5 的还是: com.mysql.jdbc.Driver
            
            mysql 8 的加入了时区的验证,所以连接时需要加入时区
                jdbc:mysql://127.0.0.1/springboot-demo?serverTimezone=GMT%2B8
                
            参考连接:https://blog.csdn.net/weixin_40845165/article/details/80780159
        

引入mybatis-plus

    遇到的问题:
        1、mysql 中的 date 字段 与 mybatis-plus生成的bean对象中的 LocalDateTime 无法对应
            解决方法:
            引入 mybatis-typehandlers-jsr310 maven包
                <!-- mybatis数据库字段类型映射,将 LocalDateTime 字段类型对应 mysql 的date -->
                <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-typehandlers-jsr310</artifactId>
                    <version>1.0.1</version>
                </dependency>

引入shiro

    1、在pom.xml文件中引入基础依赖
           <!--shiro-->
        		<dependency>
        			<groupId>org.apache.shiro</groupId>
        			<artifactId>shiro-spring</artifactId>
        			<version>1.3.2</version>
        		</dependency>
        		<dependency>
        			<groupId>org.apache.shiro</groupId>
        			<artifactId>shiro-all</artifactId>
        			<version>1.3.2</version>
        		</dependency>
        		<dependency>
        			<groupId>net.mingsoft</groupId>
        			<artifactId>shiro-freemarker-tags</artifactId>
        			<version>0.1</version>
        		</dependency>
        		
    2、配置shiro
        此项目中,对应的是ShiroConfig类
        
    3、创建Realm文件
        此项目中对应AdminUserRealm文件

引入 ehcache

1、pom中引入 ehcache 的资源文件
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.3</version>
    </dependency>
2、在resources文件夹下创建 ehcache.xml文件
    如果 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" 报错,
    打开 settings - languages&frameworks - schemas and dtds ,添加地址 http://ehcache.org/ehcache.xsd

引入 log4j

    1、pom中引入 log4j 的资源文件
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
        </dependency>
        
    2、排除springboot自带的log日志
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>        
   
   3、添加 log4j.properties 文件 (测试配置的结果为无效,原因未知)
   
   4、开启 sql 的输出日志
        在 application.properties 文件中添加 
        mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
        
        缺点:打印的日志带的东西太多,我只想要 sql语句和参数而已 (不知道要怎么调)

使用注意

1、需要安装 lombok 插件
2、登入账号和密码
    管理员权限:账号:sa,密码:admin123
    普通权限:账号:admin,密码:admin123
3、数据库文件的存放地址:src\main\resources\springboot-demo.sql

简介

springboot + mybatis-plus3 + druid + mysql8 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/liqingfuli/springboot-mybatis-plus3-demo.git
git@gitee.com:liqingfuli/springboot-mybatis-plus3-demo.git
liqingfuli
springboot-mybatis-plus3-demo
springboot-mybatis-plus3-demo
develop

搜索帮助