SSM整合项目

eclipse创建springboot项目和springboot整合ssm 我们之前学过javaweb或者spring都知道依赖都是自己在pom.xml写的,springboot直接避免这一情况,选择你要导入的依赖即可,最初我们选择SpringWeb即可(在web里)但是后面我们要整合ssm于是我们还要在sql中选择mybatis framwork 和 mysql driver。注意:type这是你要创建springboot项目的类型,分别为maven,gradle,我们选择maven,同时你要创建Name:springboot_01_base_config。 阅读详情

        昨天星期六,总结了一些今日所学,那么今天就来说一下学完以后做的一个SSM小项目把做的很简单,别喷我啊0.0,这个项目主要是从前端页面根据表单使用户注册账号并存入数据库中,然后用户进行登录再去从数据库中进行数据比对,如果数据库中存在相同数据则登陆成功,否则登陆失败。

        一个项目无非就是MVC吗,而我喜欢先做前端页面,因为前端可以接收用户的需求,再又后端去控制,最后拿到数据以及返回,所以我先从前端说起吧。

一、前端页面的实现

实现语言:HTML、CSS、JS

实现工具:HBuilder X

注册表单:

<!--注册表单-->
        <div class="form_register" style="position:absolute">  
            <form action="http://127.0.0.1:8080/user/add" method="post">
                <h1>注册表单</h1>
                <div class="form_item">
                    <label for="username">用户名:</label>
                    <input type="text" name="username" id="username" placeholder="请输入用户名" required >
                </div>
                <div class="form_item">
                    <label for="password">密码:</label>
                    <input type="password" name="password" id="password" placeholder="请输入密码名" required>
                </div>
                <div class="form_item">
                    <label for="email">电子邮箱:</label>
                    <input type="email" name="email" id="email" placeholder="请输入电子邮件" required>
                </div>
                <div class="form_item">
                    <label for="tel">电话:</label>
                    <input type="tel" name="tel" id="tel" placeholder="请输入手机号码" required>
                </div>
                <div class="form_item">
                    <input type="submit" value="注册">
                </div>
            </form>
            <div class="info">已有账号?点击<span class="switch login_Btn">登录</span></div>
        </div>

登录表单:

<div class="form_login" style="height:0;">
			
			<form action="http://127.0.0.1:8080/user/go" method="post">
				<h1>登录表单</h1>
				<div class="form_item">
					<label for="username">用户名:</label>
					<input type="text" name="username" id="username" placeholder="请输入用户名" required>
				</div>
				<div class="form_item">
					<label for="password">密码:</label>
					<input type="password" name="password" id="password" placeholder="请输入密码名" required>
				</div>
				<div class="form_item">
					<input type="submit" value="登录">
				</div>
			</form>
			<div class="info">没有账号?点击<span class="switch register_Btn">注册账号</span></div>
			
         </div>

CSS修饰:

html{
    height: 100%;
}
body{
    background: url('../images/mn.jpg') no-repeat center/cover;
}
.form{
    width: 500px;
    height: 600px;
    margin: 30px auto;
}
.form_register,.form_login{
    width: 500px;
    background-color:rgba(0, 188, 212, 0.7);
    border-radius: 5px;
    box-shadow: 0 0 3px #ccc;  
    overflow: hidden;
    transition: height 1s;
}
.form_register{
    height: 548px;
}

.form form{
   padding: 25px 40px;
}
.form .form_item{
    display: flex;
    margin: 25px 0;
    vertical-align: middle;
}
.form input{
    outline: none;
    text-indent: 10px;
    flex: 1;
    width: auto;
    border: none;
    border-radius: 3px;
    height: 36px;
}
.form form label{
    width: 90px;
    float: left;
    line-height: 36px;
}
h1{
    text-align: center;
    padding: 0;;
    margin: 30px 0 30px 0;
}
.form form input[type='submit']{
    background-color: rgba(244, 22, 7, 0.7);
    color: aliceblue;
    height: 45px;
    font-size: 20px;
    cursor:pointer;
    margin-top: 20px;
}
.form .info{
    text-align: center;
    font-size: 14px;
    margin-bottom: 20px;
}
.form .info span{
    color: crimson;
    margin-left: 3px;
}
.form .info span:hover{
    cursor: pointer;
    border-bottom: 1px solid crimson;
}

JS动态实现:

window.onload=function(){
    var form_login = document.querySelector('.form_login')
    var form_register = document.querySelector('.form_register')
    var switchBtns = document.querySelectorAll('.switch')

    switchBtns.forEach(function(item){
        item.addEventListener('click',function(){
            if(this.innerText=='注册账号'){
                addStyle(form_login,{ height: '0',transitionDelay:'0s'})
                addStyle(form_register,{height: '548px',transitionDelay: '1.2s'})
            }else if(this.innerText=='登录'){
                addStyle(form_login,{ height: '422px', transitionDelay: '1.2s'})
                addStyle(form_register,{height: '0',transitionDelay:'0s'})
            }
        })
    })

    function addStyle(ele,orignStyle){
        for(var item in orignStyle){
            if(ele){
                ele.style[item] = orignStyle[item] 
            }
        }
    }
   
}

页面效果展示:

 

 二、数据库的实现

实现语言:sql语言

实现工具:navicat

表设计:

 这里本来类型用int,但是int最高只能写11位,所以又换成了varchar类型

三、后端代码实现

实现语言:JAVA

实现工具:IDEA

所用框架:Spring 、SpringMVC 、Mybatis、SpringBoot

核心配置文件:


spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///logon?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: root
#SpringBoot整合Mybatis配置
mybatis:
  #指定UserMapper.xml文件的位置
  mapper-locations: classpath:*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

 映射文件:

<?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="cn.tedu.dao.LogonMapper">
    <insert id="in">
        insert into user values(#{username},#{password},#{tel},#{email})
    </insert>

    <select id="select" resultType="cn.tedu.pojo.Logon">
        select username,password from user where username=#{username} and password=#{password}
    </select>

</mapper>

业务层:

package cn.tedu.service;

import cn.tedu.dao.LogonMapper;
import cn.tedu.pojo.Logon;
import cn.tedu.pojo.up;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class LogonServiceimpl implements LogonService{
    @Autowired
    private LogonMapper logonMapper;
    @Override
    public void in(Logon logon) {
        logonMapper.in(logon);
    }
    @Override
    public boolean select(up u) {
        Logon select = logonMapper.select(u);
        if (select.getUsername().equals(u.getUsername())){
            if(select.getPassword().equals(u.getPassword())){
                return true;
            }
        }
        return false;

    }
}

数据层:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Component
public class Logon {
    private String username;
    private String password;
    private String tel;
    private String email;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Component
public class up {
    private String username;
    private String password;
}

持久层:

@Service
public interface LogonMapper {
    void in(Logon logon);
    Logon select(up u);
}

控制层:

package cn.tedu.Controller;
import cn.tedu.pojo.Logon;
import cn.tedu.pojo.up;
import cn.tedu.service.LogonServiceimpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
@CrossOrigin
@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private LogonServiceimpl logonService;
    @RequestMapping("add")
    public Object add(Logon l){
        logonService.in(l);
        return "Logon";
    }
    @RequestMapping("go")
    public Object go(up u){
        boolean s = logonService.select(u);
        if (s==false){
            return "false";
        }
        return "go";
    }
}

返回页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>密码错误,请重新输入</title>
</head>
<body>
<script>
    alert("密码有误,请重新输入")
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录成功</title>
</head>
<body>
<script>
    alert("登陆成功");//打网页就弹出
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册成功</title>
</head>
<body>
<script>
    alert("注册成功")
</script>
</body>
</html>

启动类:

package cn.tedu;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("cn.tedu.dao")
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class );
    }
}

四、结果展示

注册:

 数据库记录:

页面登录: 

 登录结果:

        到这里就结束了,这算是自己亲手做的第一个SSM项目吧,非常的简陋哈哈哈哈,作为一名主攻开发的,前端代码还是非常的薄弱,以后还会多做一点项目拓实自己的基础。下一篇说一下一些工具和自己感受到学习到的一些SpringBoot的运行逻辑吧!

        满怀希望就会所向披靡!

         

非线性功率放大器对QAM传输BER性能的影响及补偿 1、线性功率放大器对传输性能的影响 为表述非线性功率放大器对传输性能的影响,以Saleh模型进行观察。具体来说,在QAM调制器之后添加一个非线性模块,使调制后的波形经历AM / AM和AM / PM转换。 在Saleh模型中,转换用四个参数表示,即AM / AM转换为????a和????a,AM / PM转换为????p和????p。 在Saleh模型中,AM / AM和AM / PM方程以输入电压u的大小表示为: 式中,FAM / AM是AM / AM转换的输出电压与输入电压的关系,而FAM 阅读详情

相关推荐

综合能源系统多时间尺度优化调度!诸多创新点让你抓住审稿人的心!

主要介绍综合能源系统的设备组成结构,并针对屋顶光伏系统、冷-热-电联供系统中的燃气轮机、燃气锅炉、光伏溴化锂制冷机、卡琳娜余热发电、中央空调系统,以及外网交互系统的配电网与天然气管网交互关系进行数学建模。1) 源-荷-储协同调度:研究屋顶光伏、燃气轮机、燃气锅炉等源侧设备,中央空调、电-热-冷负荷、可平移电负荷、可削减温控负荷等负荷侧资源,以及储能系统、电动汽车等储能侧设备的协同调度,以提高风光消纳能力,满足社会能源需求。通过电转热、电转冷、电转气等多能耦合方式,可进一步促进可再生能源的应用与发展。

weixin_48747334的博客 1490

Java学完SSM后很迷茫,接下来该学哪些呢?

没必要跟着别人的学习路线图走,你要清楚你的目的是找工作。写过很多次大学的四年安排,今天这篇专门写给大四即将找工作的同学。 一、找什么工作 首先分析自己想干什么?以题注说的是Java为主,那么起码要知道找一个Java开发的工作需要什么能力? 基本编程能力(下文说) 调试程序的能力; 继承开发环境的应用能力 基本的数据库还是 Java现在流行的框架 好了现在知道企业需要的能力,就要分析自己的水平了。但是按照题主给出的基本情况,还是不能准确的判断。你是否可以写一些简单的程序,常用库类是否熟悉? 另外一些觉得自己不

黑马程序员官方博客 1674

CPU也能跑大模型?手把手教你用vLLM离线部署Qwen2.5-7B-Instruct(附性能优化技巧)

本文详细介绍了如何在CPU服务器上高效部署Qwen2.5-7B-Instruct模型,通过vLLM框架和一系列优化技巧实现离线推理。内容包括环境配置、模型加载优化、性能调优及生产环境部署方案,帮助开发者在资源有限的情况下也能运行大语言模型。

weixin_28691741的博客 494

看书学Java的最亻圭路线

疫情以来,好久没出差了,今天出差去趟上海,早上 4 点多就起床了,到机场天都没亮。到登机口离起飞还一小时,趁着等飞机的时间,抓紧码字,把这篇文章收个尾。 今天和大家说说学 Java 的读书路线。路线中的书籍我自己都看过,希望整理的这份读书路线,能帮大家少走弯路,对大家学 Java 有个参考。 初学乍练 入门 Java,推荐《Java核心技术》第 11 版,这其实是一套书,分为两本: 卷1 基础知识(豆瓣 9.2 分) 卷2 高级特性(豆瓣 8.4 分) 我估计 70% 的 Java 程

欢迎来到我的博客 790

Yolov5 多边形标签转换,所有json文件自动转成txt格式[详细过程]

注:labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源。通过labelme对图进行标注后,得到的是json文件,而Yolov5对数据进行模型构建的时候,读取需要的是txt格式的文件。txt_outer_path——保存txt文本的文件夹的绝对路径。json_name——json_name是json文本的名字。json_floder——读取json的文件夹的绝对路径。

Pandas_007的博客 1万+

从零搭建智能车竞赛卡丁车:自动驾驶科目中的锥桶识别与路径规划实战教程

本文提供了一份从零搭建智能车竞赛卡丁车的实战教程,重点解析了自动驾驶科目中的核心环节:锥桶识别与路径规划。内容涵盖硬件选型、传感器部署、基于单目视觉的识别算法,以及适用于嵌入式平台的轻量级路径规划与跟踪策略,旨在帮助参赛者与爱好者系统掌握关键技术,完成稳定可靠的自动驾驶系统搭建。

lg888的博客 1169

适合新手的SSM框架练手项目——秒杀系统

最近把SSM框架的基础知识撸了一遍,跟着github上的这个开源项目 ,实现了一下秒杀系统,并对这个项目中存在的问题进行了 一些小小的改进,记录一下,如果是刚学SSM框架希望找个小项目 练手的,可以跟着这个项目来练练手。 一、项目功能及涉及知识点 项目的整体业务流程如下 ...

MeteorChenBo的博客 4552

优化Cartographer重定位速度:从子图筛选到参数调优的完整思路

本文详细介绍了优化Cartographer重定位速度的完整方法,从子图筛选到参数调优,帮助工程师在已知初始位姿的前提下将重定位耗时降低50%以上。重点分析了性能瓶颈、子图筛选策略、匹配算法选择及环境自适应的参数优化策略,并通过实战案例展示了显著效果提升。

weixin_28704565的博客 465

ssm整合(整合配置)

也就是说先把spring、springmvc、mybatis的配置都整合在一起(以前的笔记都做过,这次整合在一起即可)

lwj_07的博客 502

极验第四代滑块验证码破解(三):滑块轨迹构造

极验第四代滑块验证码破解(三):滑块轨迹构造声明 声明 原创文章,请勿转载! 本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。 本文关联文章超链接:

帯泪的鱼的博客 8624

YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题

本文记录的是改进YOLOv11的损失函数,将其替换成Slide Loss,并详细说明了优化原因,注意事项等。Slide Loss函数可以有效地解决样本不平衡问题,为困难样本赋予更高的权重,使模型在训练过程中更加关注困难样本。若是在自己的数据集中发现容易样本的数量非常大,而困难样本相对稀疏,可尝试使用Slide Loss来提高模型在处理复杂样本时的性能。

Limiiiing的博客 4569

SSM整合教程(配置类版)

SSM整合教程(配置类版),简单易懂

m0_55337678的博客 1267

AI Agent在核电站安全监控中的应用

核电站作为一种高效的能源生产设施,其安全问题一直是全球关注的焦点。任何安全事故都可能导致严重的人员伤亡、环境污染和经济损失。传统的核电站安全监控系统主要依赖于人工操作和固定规则的监控算法,存在监控效率低、无法实时应对复杂情况等问题。本文章的目的在于探讨如何利用AI Agent技术提升核电站安全监控的智能化水平,实现实时、准确的监测和智能决策。范围涵盖了AI Agent的基本原理、在核电站安全监控中的应用场景、相关算法和数学模型,以及实际项目的开发和应用。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 372

SSM整合——简单的小项目实战

SSM整合——简单的小项目实战

贝尔摩德苦艾酒 2万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SSM基础专项复习1——SSM项目整合

SSM 项目是指采用 Spring、SpringMVC 和 MyBatis 这三个框架进行开发的 Java Web 项目。Spring:是一个轻量级的控制反转(IoC)和面向切面编程(AOP)的容器框架。它提供了一种依赖注入的方式来管理对象之间的依赖关系,使得代码的耦合度降低,更易于维护和扩展。同时,通过 AOP 可以方便地实现日志记录、事务管理等横切关注点的功能。SpringMVC:是 Spring 框架中的一个模块,用于构建 Web 应用程序的表现层。

2301_78566776的博客 1462

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

简单的SSM整合项目。

简单的SSM整合流程 首先是SSM的定义 SSM 编程,即 SpringMVC + Spring + MyBatis 整合,是当前最为流行的 JavaEE 开发技术架构。其实 SSM 整合的实质,仅仅就是将 MyBatis整合入 Spring。因为 SpringMVC原本就是 Spring 的一部分,不用专门整合。 SSM 整合的实现方式可分为两种:基于 XML 配置方式,基于注解方式。 三层架构的概念 三层架构(3-tier architecture) 包含界面层,业务逻辑层,数据访问层(持久层)。 这里

weixin_47884927的博客 4182

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ssm整合项目

ssm整合项目结构 导入依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>

weixin_43525993的博客 198

ssm整合小项目

ssm整合

qq_52252193的博客 570

整合ssm框架的项目

整合ssm框架的一个小项目练手,项目虽小,五脏俱全!

llx522的博客 1848

【项目实践】图文并茂讲解SSM整合

图文并茂教你整合SSM框架,并附上思维导图和项目源代码地址

RudeCrab的博客 2950

ssm项目整合

git ssm整合 ssm框架自学差不多啦,就搞了一个小小的demo,用来增删改查。 目录一级目录二级目录三级目录 一级目录 二级目录 三级目录

while(True): print('adorable') 259

ssm三大框架进行整合,快速搭建一个web项目

本章节主要介绍在idea开发工具上如何使用maven搭建一个spring+springmvc+mybatis的web项目 新建 打开 IDEA 工具,通过 File -> New -> Project,新建项目,或者直接在 IDEA 欢迎页面点击新建项目,过程如下图: 主要步骤包括: 选择 Maven 项目 设置 JDK 勾选“Create from arch...

qq_37776015的博客 1604

SSM项目整合(详细)

创建SSM项目整合(详细) <第一步> 创建一个maven项目,如图: <第二步>在pom.xml中导入依赖包 <dependencies> <!-- 单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>

qq_46092354的博客 1856

SSM项目小例子,SSM整合图文详细教程

首先我们来搭建一个SSM项目,同时也是SSM项目整合哦!环境:idea2019 、maven、jdk1.8创建一个maven项目,直接next现在还不是一个web项目项目右键,选择这个我们把web勾上这样就是一个标准的web项目了,比起maven自建的我觉得好看,普普通通的maven项目看起来最顺眼项目就就创建好了,我们运行下,运行之前我们放个login.jsp页面,随便在网上找了一个页面: 打包运行项目,手把手教你,如果没有打包,自己打个包,我们看到没有lib目录,后面我们项目的依赖不一定会加进来,现在没

hello_list的博客 5954

SSM——SSM项目整合(一)

SSM——SSM项目整合(一)原始整合方式通过Spring整合MyBatis补充/技巧 原始整合方式 基本步骤: ①准备数据库及数据表;②创建Maven工程;③导入Maven坐标;④编写实体类;⑤编写mapper接口;⑥编写service(业务层)接口;⑦编写service接口实现;⑧编写controller;⑨编写或添加页面;⑩编写相应的配置文件;⑪运行测试 总结: 实际上原始整合SSM项目就是利用MyBatis的相关API对MyBatis的配置文件、映射文件进行加载从而操作数据库;而Spring与Spr

JCManZZ的博客 403

关于SSM项目的整合

启动 Web 服务器:启动如 Tomcat 这样的 Web 服务器。Tomcat 启动后会开始加载部署在其中的 Web 应用。加载web.xml文件:Tomcat 会读取 Web 应用WEB - INF目录下的web.xml文件,该文件是 Web 应用的核心配置文件,包含了 Servlet、Filter、Listener 等组件的配置信息。初始化 Spring 根应用上下文当 Tomcat 解析到web.xml中配置的时,它会触发该监听器的初始化操作。会根据中配置的参数(通常指向。

qq_69304031的博客 692
上一篇: SpringMVC Spring Mybatis小结
下一篇: 常用的工具
希望不要秃头的0.0
博客等级 码龄6年 64粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值