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)使用验证码,并模拟登入。
未完待续。。。。
idea+maven+springboot+mybatis+springmvc+shiro的更多相关文章
- springboot+mybatis+springmvc整合实例
以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...
- springboot+mybatis+springMVC基础框架搭建
项目结构概览 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...
- idea+maven+springboot+mybatis
确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...
- Maven + spring + Mybatis + SpringMVC
tomcat版本:apache-tomcat-7.0.70 一.新建一个maven的web项目 1.1.请勾选“Create a simple project”,创建一个简单的项目,这里不使用模板.也 ...
- Maven + springboot + mybatis 构建多模块工程
废话不说先上最终效果:创建一个空项目,再创建一个父项目用来管理各模块并维护各模块关系,简要说明如下: parent模块:主要用来管理以下各模块,和各模块涉及的jar包版本和boot项目入口级的的依赖管 ...
- spring-boot + mybatis + mysql+shiro 整合
参考地址 https://blog.csdn.net/clj198606061111/article/details/82948757 https://blog.csdn.net/ityouknow/ ...
- Maven搭建Spring+SpringMVC+Mybatis+Shiro项目详解
一. 环境搭建: 1. 开发工具:myeclipse 2014 / IDEA: 2. maven管理版本:apache-maven-3.0+: 3. jdk 1.7.0+4. Tomcat8.0 二: ...
- [03] SpringBoot+MyBatis+Shiro搭建杂谈
0.写在前面的话 一直想能仿公司框架的形式,着手做一个简单的脚手架,一来是带着目标性能更好地学习,接触新的技术,另外自己如果有什么想要实现的简单需求,就可以进行快速开发,主要还是希望能在权限上有所控制 ...
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...
随机推荐
- 我在tmux中最不可少的配置: 用鼠标切换窗口/调节分屏大小
前两天在给另外一个团队帮忙时,看他们在Rails日志.代码文件.git文件系统里面来回穿梭,觉得他们太累了,于是就介绍了 tmux 给他们用.但只讲了一点基本的开窗口.分屏,没给讲太多技巧,因为一下子 ...
- 推荐几个Windows工具软件: ASuite - 便携的程序启动器
主页: http://asuite.sourceforge.net 下载: http://sourceforge.net/projects/asuite/ ASuite is a lightweigh ...
- [转]ztree出现$.fn.zTree is undefined错误的解决办法。
原文地址:https://blog.csdn.net/smallboy2011/article/details/20554269 问题描述,在一个界面使用ztree创建树,提示TypeError: $ ...
- 随机获取一个集合(List, Set,Map)中的元素<转>
import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; impo ...
- const读书笔记
Const 的使用读书笔记 Const的主要主要用法有: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数 ...
- lua第三方库
一.Lua 包管理工具 1.LuaRocks luarocks 是Lua常用的包管理工具(还有一个是LuaDist),其安装方式请参考官网:https://luarocks.org/#quick-st ...
- jenkins实战(二):构建自由风格的maven项目
本系列打算全面介绍jenkins的常规使用,这是第二篇,之前的文章在: jenkins实战(一):war安装及插件安装 一.新建项目 1.新建项目 此处我们打算新建自由风格项目,见下图. 值得注意的是 ...
- linux 下 sublime配置
sublime3 import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_p ...
- ABP之事件总线(1)
什么是事件总线呢?官方的文档说,它是一个单例对象,由其他的类共同拥有,可以用来触发和处理事件.这个东西确实比较陌生,为什么要使用事件总线,或者说事件总线的优势是什么???首先我们可以明确的是,事件总线 ...
- C#打印标签
一个复杂的标签包括一个复杂的表格样式和二维码.条形码等内容.所以如果直接绘制的方式将会非常的麻烦,所以采用使用的方案是使用模板的方式:1.使用Excel创建出想要的模板的样式.2.对模板中的动态内容进 ...