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

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

一、idea创建项目

(1) spring initializr

(2)填写项目的名称

(3)选择相关的特性

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

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

二、项目配置

(1)mybatis相关配置

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

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

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

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

pom.xml 在build标签中添加

  1. <resources>
  2. <resource>
  3. <directory>src/main/java</directory>
  4. <includes>
  5. <include>**/*.xml</include>
  6. </includes>
  7. <filtering>false</filtering>
  8. </resource>
  9. </resources>

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

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

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

  1. package com.entity;
  2.  
  3. public class User {
  4. private long userId;
  5. private String ckId;
  6. private String userAccount;
  7. private String userPassword;
  8. private String userName;
  9. private int userStatus;
  10. private String createDateTime;
  11. private String registerIp;
  12.  
  13. public long getUserId() {
  14. return userId;
  15. }
  16.  
  17. public void setUserId(long userId) {
  18. this.userId = userId;
  19. }
  20.  
  21. public String getCkId() {
  22. return ckId;
  23. }
  24.  
  25. public void setCkId(String ckId) {
  26. this.ckId = ckId;
  27. }
  28.  
  29. public String getUserAccount() {
  30. return userAccount;
  31. }
  32.  
  33. public void setUserAccount(String userAccount) {
  34. this.userAccount = userAccount;
  35. }
  36.  
  37. public String getUserPassword() {
  38. return userPassword;
  39. }
  40.  
  41. public void setUserPassword(String userPassword) {
  42. this.userPassword = userPassword;
  43. }
  44.  
  45. public String getUserName() {
  46. return userName;
  47. }
  48.  
  49. public void setUserName(String userName) {
  50. this.userName = userName;
  51. }
  52.  
  53. public int getUserStatus() {
  54. return userStatus;
  55. }
  56.  
  57. public void setUserStatus(int userStatus) {
  58. this.userStatus = userStatus;
  59. }
  60.  
  61. public String getCreateDateTime() {
  62. return createDateTime;
  63. }
  64.  
  65. public void setCreateDateTime(String createDateTime) {
  66. this.createDateTime = createDateTime;
  67. }
  68.  
  69. public String getRegisterIp() {
  70. return registerIp;
  71. }
  72.  
  73. public void setRegisterIp(String registerIp) {
  74. this.registerIp = registerIp;
  75. }
  76. }

5)mapper接口示例

  1. package com.mapper;
  2.  
  3. import com.entity.User;
  4. import org.apache.ibatis.annotations.Param;
  5.  
  6. public interface UserMapper {
  7. User findUserByUserId(@Param("userId") String userId);
  8. }

6)mapper.xml示例

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

(2)controller、service配置

1)添加 controller 和 service 包

2)controller配置

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

2)service配置

添加类注解,注入UserMapper实例

(3)静态页面访问配置

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

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

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

2)新建页面目录

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

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

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

未完待续。。。。

idea+maven+springboot+mybatis+springmvc+shiro的更多相关文章

  1. springboot+mybatis+springmvc整合实例

    以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...

  2. springboot+mybatis+springMVC基础框架搭建

    项目结构概览 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...

  3. idea+maven+springboot+mybatis

    确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...

  4. Maven + spring + Mybatis + SpringMVC

    tomcat版本:apache-tomcat-7.0.70 一.新建一个maven的web项目 1.1.请勾选“Create a simple project”,创建一个简单的项目,这里不使用模板.也 ...

  5. Maven + springboot + mybatis 构建多模块工程

    废话不说先上最终效果:创建一个空项目,再创建一个父项目用来管理各模块并维护各模块关系,简要说明如下: parent模块:主要用来管理以下各模块,和各模块涉及的jar包版本和boot项目入口级的的依赖管 ...

  6. spring-boot + mybatis + mysql+shiro 整合

    参考地址 https://blog.csdn.net/clj198606061111/article/details/82948757 https://blog.csdn.net/ityouknow/ ...

  7. Maven搭建Spring+SpringMVC+Mybatis+Shiro项目详解

    一. 环境搭建: 1. 开发工具:myeclipse 2014 / IDEA: 2. maven管理版本:apache-maven-3.0+: 3. jdk 1.7.0+4. Tomcat8.0 二: ...

  8. [03] SpringBoot+MyBatis+Shiro搭建杂谈

    0.写在前面的话 一直想能仿公司框架的形式,着手做一个简单的脚手架,一来是带着目标性能更好地学习,接触新的技术,另外自己如果有什么想要实现的简单需求,就可以进行快速开发,主要还是希望能在权限上有所控制 ...

  9. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

随机推荐

  1. ArcGIS Runtime SDK for iOS开发地图图层-图形图层

    注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm        创建图 ...

  2. sql操作总结

    SQL 语句的多表查询方式例如:按照 department_id 查询 employees(员工表)和 departments(部门表)的信息.方式一(通用型):SELECT ... FROM ... ...

  3. JVM 内部原理(六)— Java 字节码基础之一

    JVM 内部原理(六)- Java 字节码基础之一 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...

  4. Java面向对象的基本概念(对象、封装、继承、多态、抽象、接口、泛型)

    对象:是一个自包含的实体,用一组可识别的特征和行为来标识. 类:具有相同的属性和功能的对象的抽象合集.(类关键字class,首字母大写). 实例:就是一个真实的对象. 实例化:创建对象的过程,关键字是 ...

  5. DedeCMS中channelartlist自增参数global.itemindex

    在 dede:channelartlist 标签下,使用: {dede:global.itemindex runphp='yes'} {/dede:global.itemindex} dede:cha ...

  6. [TF] Architecture - Computational Graphs

    阅读笔记: 仅希望对底层有一定必要的感性认识,包括一些基本核心概念. Here只关注Graph相关,因为对编程有益. TF – Kernels模块部分参见:https://mp.weixin.qq.c ...

  7. [Python] 05 - Load data from Files

    文件读写 一.文件打开 传统方法 >>> f = open('data.txt', 'w') # Make a new file in output mode ('w' is wri ...

  8. SQLServer最耗资源时间的SQL语句

    作者kolachen http://blog.sina.com.cn/s/blog_63f3e0060102vcm0.html 先拷过来了,等有空再研究一下 执行最慢的SQL语句 SELECT (to ...

  9. Mysql 全文搜索 Match Against用法

    全文检索在 MySQL 中就是一个 FULLTEXT 类型索引.FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE ...

  10. maven 配置mirror后,本地库与远端库冲突

    settings.xml中主要包括以下元素: localRepository interavtiveMode offline pluginGroups proxies servers mirrors ...