springboot+vue 登錄頁面(二)


承接上文

注意:下面的文件路徑需要自己修改!!!

7.創建數據庫user

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL COMMENT '用戶名',
  `password` varchar(255) DEFAULT NULL COMMENT '密碼',
  `create_by` int(11) DEFAULT NULL COMMENT '創建人',
  `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創建時間',
  `update_by` int(11) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間',
  `remark` varchar(255) DEFAULT NULL COMMENT '備注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

8.引用mybatis逆向工程

  mybatis 逆向工程可以生成基本的mapper,dao,entity

  注意:修改配置文件中的路徑

package com.example.demo.utils;

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;

public class GeneratorSqlmap {

    public void generator() throws Exception{

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //指定 逆向工程配置文件 路徑從項目名開始
        File configFile = new File(".\\src\\main\\resources\\generatorConfig.xml");
        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);
        //如果在沒有生成代碼,則請查看:warnings
    }
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}
<?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">

        <!-- mybatis 與swagger 生成的實體類注釋-->
        <!--<plugin type="mybatis.generator.plugins.GeneratorSwagger2Doc">-->
            <!--<property name="apiModelAnnotationPackage" value="io.swagger.annotations.ApiModel"/>-->
            <!--<property name="apiModelPropertyAnnotationPackage" value="io.swagger.annotations.ApiModelProperty"/>-->
        <!--</plugin>-->

        <commentGenerator>
            <!-- 是否去除自動生成的注釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--mysql配置-->
        <!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/daydayfund?serverTimezone=GMT&amp;tinyInt1isBit=false" userId="root"
                        password="123456">
            <!-- https://www.cnblogs.com/xqz0618/archive/2019/02/15/MybatisGeneratorError.html-->
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>
        <!--oracle配置-->
        <!--<jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"  -->
        <!--userId="yycg"  -->
        <!--password="yycg">  -->
        <!--</jdbcConnection>-->

        <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把JDBC DECIMAL 和
            NUMERIC 類型解析為java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetProject:生成PO類的位置 -->
        <javaModelGenerator targetPackage="com.zong.fund.entity"
                            targetProject=".\src\main\java">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 從數據庫返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject=".\src\main\resources">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.zong.fund.dao"
                             targetProject=".\src\main\java">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <!-- 指定數據庫表 domainObjectName="實體類名" -->
        <table tableName="user"  selectByExampleQueryId="false"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" >
            <!--<columnOverride column="img" javaType="java.lang.String" jdbcType="VARCHAR" />-->
            <!--<columnOverride column="content" javaType="java.lang.String" jdbcType="VARCHAR" />-->
            <!--<columnOverride column="appeal_pic" javaType="java.lang.String" jdbcType="VARCHAR" />-->
            <!--<columnOverride column="seller_delivery" javaType="java.lang.String" jdbcType="VARCHAR" />-->
            <!--<columnOverride column="delivery" javaType="java.lang.String" jdbcType="VARCHAR" />-->
        </table>


    </context>
</generatorConfiguration>
<!-- 逆向工程 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
            

9.在mapper,dao文件中添加一個方法:selectByEntity

<select id="selectByEntity" parameterType="com.zong.fund.entity.User" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from user
    where 1=1
    <if test="name != null">
     AND name = #{name,jdbcType=VARCHAR}
    </if>
    <if test="password != null">
      AND  password = #{password,jdbcType=VARCHAR}
    </if>
    <if test="createBy != null">
      AND  create_by = #{createBy,jdbcType=INTEGER}
    </if>
    <if test="createTime != null">
      AND  create_time = #{createTime,jdbcType=TIMESTAMP}
    </if>
    <if test="updateBy != null">
      AND  update_by = #{updateBy,jdbcType=INTEGER}
    </if>
    <if test="updateTime != null">
      AND  update_time = #{updateTime,jdbcType=TIMESTAMP}
    </if>
    <if test="remark != null">
      AND  remark = #{remark,jdbcType=VARCHAR}
    </if>
  </select>
List<User> selectByEntity(User record);

10.創建service,impl,controller 文件夾並創建對應的方法

  這個碼磚的事我就不說了

  注意:在dao文件中添加@Mapper

11.配置文件:

#端口號
server.port=9090
#mybatis 掃描
mybatis.mapper-locations=classpath*:mapper/*.xml
#日志配置文件
logging.config=classpath:logging-config.xml
#數據庫 spring.datasource.url = jdbc:mysql://localhost:3306/xxxx?serverTimezone=GMT%2B8 spring.datasource.username = root spring.datasource.password = xxxxx spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver

注意: 如果想在控制台打印sql則在配置文件中添加:

  logging.level.org.springframework.boot.autoconfigure: ERROR

  如果配置文件是yml 則:

server:
  port: 8080
spring:
  datasource:
    name:
    url: jdbc:mysql://127.0.0.1:3306/es?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC
    username: root
    password: root
mybatis:
  mapper-locations: classpath*:mapper/*.xml
#日志配置文件
logging:
  config: classpath:config/logging-config.xml
  level:
    org.springframework.boot.autoconfigure: ERROR

 

 

12.配置日志文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
    <property name="LOG_HOME" value="E:\xxx\log"/>
    <!-- 控制台輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符-->
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件輸出的文件名-->
            <!--<FileNamePattern>${LOG_HOME}/sk_erp.%d{yyyy-MM-dd}.log</FileNamePattern>-->
            <FileNamePattern>${LOG_HOME}\sk_erp.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <!--日志文件保留天數-->
            <MaxHistory>30</MaxHistory>
            <totalSizeCap>1GB</totalSizeCap>
            <MaxFileSize>10MB</MaxFileSize>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--myibatis log configure-->
    <logger name="com.apache.ibatis" level="DEBUG"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
    <!-- 將sql打印出來-->
    <logger name="com.xxx" level="DEBUG"/>
    <!-- 日志輸出級別 -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>

14.spingboot 內置tomcat 直接啟動即可

13.通過使用postMan等測試接口工具來測試controller 處的方法來測試整個項目的

至此,后台完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM