• idea+maven+springboot+mybatis+springmvc+shiro


    springboot就是把创建项目简单化,省去了以往的配置mybatis、springmvc的繁琐过程。

    搭建web应用三个主要功能,请求和响应,数据库交互,权限配置。

    一、idea创建项目

    (1) spring initializr

    (2)填写项目的名称

    (3)选择相关的特性

    选择项目存放的路径,完成。

    新建几个常见的包名,与DemoApplication在同一目录:

    二、项目配置

    (1)mybatis相关配置

    1)添加数据库的配置,application.properties中添加:

    spring.datasource.url = jdbc:mysql://ip:3306/db_name
    spring.datasource.username = root
    spring.datasource.password = 123456
    spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver

    2)mybatis配置实体和mapper.xml的位置,application.properties中添加:

    mybatis.type-aliases-package=com.entity #实体类包的位置
    mybatis.mapper-locations=classpath:mapper/*.xml 

    pom.xml 在build标签中添加

    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>

    因为默认只会取resources目录下的xml。

    3)添加扫描mapper接口的注解

     4)添加一个User类实体对象

    package com.entity;
    
    public class User {
        private long userId;
        private String ckId;
        private String userAccount;
        private String userPassword;
        private String userName;
        private int userStatus;
        private String createDateTime;
        private String registerIp;
    
        public long getUserId() {
            return userId;
        }
    
        public void setUserId(long userId) {
            this.userId = userId;
        }
    
        public String getCkId() {
            return ckId;
        }
    
        public void setCkId(String ckId) {
            this.ckId = ckId;
        }
    
        public String getUserAccount() {
            return userAccount;
        }
    
        public void setUserAccount(String userAccount) {
            this.userAccount = userAccount;
        }
    
        public String getUserPassword() {
            return userPassword;
        }
    
        public void setUserPassword(String userPassword) {
            this.userPassword = userPassword;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public int getUserStatus() {
            return userStatus;
        }
    
        public void setUserStatus(int userStatus) {
            this.userStatus = userStatus;
        }
    
        public String getCreateDateTime() {
            return createDateTime;
        }
    
        public void setCreateDateTime(String createDateTime) {
            this.createDateTime = createDateTime;
        }
    
        public String getRegisterIp() {
            return registerIp;
        }
    
        public void setRegisterIp(String registerIp) {
            this.registerIp = registerIp;
        }
    }

    5)mapper接口示例

    package com.mapper;
    
    import com.entity.User;
    import org.apache.ibatis.annotations.Param;
    
    public interface UserMapper {
        User findUserByUserId(@Param("userId") String userId);
    }

    6)mapper.xml示例

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.mapper.UserMapper" >
        <resultMap id="BaseResultMap" type="com.entity.User" >
            <id column="user_id" property="userId" jdbcType="BIGINT" />
            <result column="user_account" property="userAccount" jdbcType="VARCHAR" />
            <result column="user_password" property="userPassword" jdbcType="VARCHAR" />
            <result column="user_name" property="userName" jdbcType="VARCHAR" />
            <result column="user_status" property="userStatus" jdbcType="INTEGER" />
            <result column="user_create_datetime" property="createDateTime" jdbcType="VARCHAR" />
            <result column="user_register_ip" property="registerIp" jdbcType="VARCHAR" />
        </resultMap>
        <select id="findUserByUserId" resultMap="BaseResultMap" parameterType="string">
                select * from system_user where user_id = ${userId}
        </select>
    </mapper>

    (2)controller、service配置

    1)添加 controller 和 service 包

    2)controller配置

    添加类映射的注解,方法映射注解,以及注入UserService实例。

     2)service配置

    添加类注解,注入UserMapper实例

    (3)静态页面访问配置

    1)在application.properties中添加如下的配置: 

    #页面热加载
    spring.thymeleaf.cache = false
    
    #静态资源访问
    spring.mvc.view.prefix='/page/'
    spring.mvc.view.suffix='.html'

    亲测过访问相关静态文件,项目会去static文件夹中寻找文件。

    2)新建页面目录

     访问项目不加路径,默认就是访问index.html。如果访问login.html,路径就是/page/login.html。

    一般添加了css,  js,html后需要把target删除后再重新启动项目。 访问登入页面可以看到:

     (4)使用验证码,并模拟登入。

    未完待续。。。。

  • 相关阅读:
    postgreSQL中的case用法说明
    UOJ#749[UNR #6]稳健型选手【贪心,分治,主席树】
    CF1286EFedya the Potter Strikes Back【KMP,RMQ】
    AT2366[AGC012F]Prefix Median【dp】
    P8352[SDOI/SXOI2022]小N的独立集【dp套dp】
    uoj#750[UNR #6]小火车【二分,折半,鸽笼原理】
    AT2382[AGC015D]A or...or B Problem
    UOJ#748[UNR #6]机器人表演【dp】
    CF1427FBoring Card Game【贪心】
    CF1534F2Falling Sand (Hard Version)
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/10360856.html
Copyright © 2020-2023  润新知