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

article/2025/10/28 1:37:45

SSM项目小例子

今天来搭建一个SSM项目的小例子简单练一练,那项目模板还是我们那个模板,就是我们在JavaWeb最后的小例子,那到SSM中我们如何实现,后面我们再看看springboot中如何实现

javaweb中项目例子:https://blog.csdn.net/hello_list/article/details/124734814

首先我们来搭建一个SSM项目,同时也是SSM项目整合哦!

web项目创建

环境:idea2019 、maven、jdk1.8

创建一个maven项目,直接next

在这里插入图片描述

在这里插入图片描述

现在还不是一个web项目

在这里插入图片描述

项目右键,选择这个

在这里插入图片描述

我们把web勾上

在这里插入图片描述

这样就是一个标准的web项目了,比起maven自建的我觉得好看,普普通通的maven项目看起来最顺眼

在这里插入图片描述

项目就就创建好了,我们运行下,运行之前我们放个login.jsp页面,随便在网上找了一个页面:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous"><style>.loginForm {/*边框高度*/height: 350px;/*边框宽度*/width: 500px;/*边框颜色*/border: #4d4d4d solid 1px;/*边框圆角*/border-radius: 4px;/*阴影 水平方向,竖直方向,模糊距离*/box-shadow: 5px 5px 5px #4d4d4d;/*上边界距离*/margin-top: 300px;/*左边界距离:自动*/margin-left: auto;/*右边界距离:自动*/margin-right: auto;/*用户名、密码间距*/padding: 20px 40px;}/*将用户登录置于中间*/.loginForm h2 {text-align: center;}/*修改button属性*/.button {text-align: center;vertical-align: middle;}</style>
</head>
<body>
<div class="loginForm"><h2>用户登录</h2><form><div class="form-group"><label for="exampleInputEmail1">用户名</label><input type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入用户名"></div><div class="form-group"><label for="exampleInputPassword1">密码</label><input type="password" class="form-control" id="exampleInputPassword1" placeholder="请输入密码"></div><div class="checkbox"><label><input type="checkbox"> 同意<a href="#">&nbsp;&nbsp;&nbsp;&nbsp;xxx安全协议</a><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;xxx隐私协议</a></label></div><div class="button"><input type="submit" class="btn btn-primary" value="登 录"/></div></form>
</div></body>
</html>

打包运行项目,手把手教你,

在这里插入图片描述

在这里插入图片描述

如果没有打包,自己打个包,我们看到没有lib目录,后面我们项目的依赖不一定会加进来,现在没有依赖,后面可能我们会需要自己建一个,可能你idea不一样,视情况而变

在这里插入图片描述

把我们的项目加进来

在这里插入图片描述

在这里插入图片描述

OK,启动成功

在这里插入图片描述

下面我们开始SSM整合,然后开始写例子

SSM整合

万事开头加入依赖:

<dependencies><!--Junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!--Servlet - JSP --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--Mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency><!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency>
</dependencies>

一定要检查自己的依赖都加进来了

在这里插入图片描述

添加一个maven的过滤

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

首先我们搭建spring框架:

总配置文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"></beans>

我们先spring整合mybatis

database.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/huanying?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8
jdbc.username=root
jdbc.password=

mybatis的配置文件:mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><package name="com.xxx.pojo"/></typeAliases><mappers><package name="com.xxx.dao.mapper"/></mappers></configuration>

然后通过spring去接管一下:spring-dao

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置整合mybatis --><!-- 1.关联数据库文件 --><context:property-placeholder location="classpath:database.properties"/><!-- 2.数据库连接池 --><!--数据库连接池dbcp 半自动化操作 不能自动连接c3p0 自动化操作(自动的加载配置文件 并且设置到对象里面)--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 配置连接池属性 --><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- c3p0连接池的私有属性 --><property name="maxPoolSize" value="30"/><property name="minPoolSize" value="10"/><!-- 关闭连接后不自动commit --><property name="autoCommitOnClose" value="false"/><!-- 获取连接超时时间 --><property name="checkoutTimeout" value="10000"/><!-- 当获取连接失败重试次数 --><property name="acquireRetryAttempts" value="2"/></bean><!-- 3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBaties全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 4.配置扫描Dao接口包,动态实现Dao接口注入到spring容器中 --><!--解释 :https://www.cnblogs.com/jpfss/p/7799806.html--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出需要扫描Dao接口包 --><property name="basePackage" value="com.xuerxiriji.dao"/></bean></beans>

我们再直接把service层搞定下:spring-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 扫描service相关的bean --><context:component-scan base-package="com.xuexiriji.service" /><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource" /></bean></beans>

OK,接下来我们整合springMVC

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--DispatcherServlet--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--一定要注意:我们这里加载的是总的配置文件,之前被这里坑了!-->  <param-value>classpath:applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--encodingFilter--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Session过期时间--><session-config><session-timeout>15</session-timeout></session-config></web-app>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 配置SpringMVC --><!-- 1.开启SpringMVC注解驱动 --><mvc:annotation-driven /><!-- 2.静态资源默认servlet配置--><mvc:default-servlet-handler/><!-- 3.配置jsp 显示ViewResolver视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/" /><property name="suffix" value=".jsp" /></bean><!-- 4.扫描web相关的bean --><!--其实像这样的扫描,我们完全可以配置一个总的直接就是com.xuexiriji但是我们既然想留下来mybatis和service和controller的层次感就这样 --><context:component-scan base-package="com.xuexiriji.controller" /></beans>

最后都放到我们applicationContext.xml总配置中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><import resource="spring-dao.xml"/><import resource="spring-service.xml"/><import resource="spring-mvc.xml"/></beans>

我们可以看到,配置好的文件idea会自动识别spring小叶子

在这里插入图片描述

写了这么多配置文件,项目算是搭好了,但是还没有写代码,下面我们对一个表试试CRUD

表结构,没错啦就是我们在javaweb中的Good货物表

SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for good
-- ----------------------------
DROP TABLE IF EXISTS `good`;
CREATE TABLE `good` (`goodid` int(20) NOT NULL AUTO_INCREMENT,`goodname` varchar(20) NOT NULL,`surplus` int(20) NOT NULL,`goodprice` int(20) NOT NULL,PRIMARY KEY (`goodid`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of good
-- ----------------------------
INSERT INTO `good` VALUES ('1', '黑色森林', '2', '15');
INSERT INTO `good` VALUES ('2', '奶油蛋糕', '3', '13');
INSERT INTO `good` VALUES ('3', '水果蛋糕', '2', '11');
INSERT INTO `good` VALUES ('4', '冰淇凌蛋糕', '5', '13');
INSERT INTO `good` VALUES ('9', '牛奶蛋糕', '34', '9');
INSERT INTO `good` VALUES ('11', '肉松蛋糕', '13', '13');
INSERT INTO `good` VALUES ('12', '草莓蛋糕', '99', '23');
INSERT INTO `good` VALUES ('13', '苹果蛋糕', '32', '12');
INSERT INTO `good` VALUES ('14', '香蕉蛋糕', '32', '12');
INSERT INTO `good` VALUES ('15', '火龙果蛋糕', '43', '43');
INSERT INTO `good` VALUES ('16', '香橙蛋糕', '65', '31');
INSERT INTO `good` VALUES ('17', '苹果', '43', '54');
INSERT INTO `good` VALUES ('18', '菠萝', '32', '32');
INSERT INTO `good` VALUES ('19', '橙子', '435', '32');
INSERT INTO `good` VALUES ('20', '花椒', '43', '65');
INSERT INTO `good` VALUES ('21', '大蒜', '23', '54');
INSERT INTO `good` VALUES ('22', '鸡蛋', '32', '43');
INSERT INTO `good` VALUES ('23', '西红柿', '32', '43');

还有就是javaweb中的展示页面,因为都是jsp所以都一样,所以不改了

我们把index.jsp换成我们的这个

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport"content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>学习日记</title></head><body><!--页面主要内容--><main class="ftdms-layout-content"><div style="margin-bottom: 90px;"><div class="row" style="margin-top: 15px;"><div class="col-lg-12"><div class="card"><div class="card-toolbar clearfix"><form class="pull-right search-bar" method="post" action="GoodGetSearchServlet" role="form"><div class="input-group"><input type="hidden" name="search_field" id="search-field"value="title"><input type="text" class="form-control col-lg-4" value="${keyword }" name="keyword" placeholder="请输入名称"/><div class="input-group-btn"><button class="btn btn-default dropdown-toggle" id="search-btn" type="submit">搜索<!--<span class="caret"></span>--></button></div><!-- <ul class="dropdown-menu"><li> <a tabindex="-1" href="javascript:void(0)" data-field="title">标题</a> </li><li> <a tabindex="-1" href="javascript:void(0)" data-field="cat_name">栏目</a> </li></ul>--></div></form><div class="toolbar-btn-action"><a class="btn btn-primary m-r-5 submenuitem"href="goodinsert.jsp" data-id="link552" data-index="552">新增</a></div></div><div class="card-body"><div class="table-responsive"><table class="table table-bordered"><thead><tr><th width="5"><labelclass="ftdms-checkbox checkbox-primary"> <inputtype="checkbox" id="check-all"><span></span></label></th><th>货物编号</th><th>货物名称</th><th>剩余数量</th><th>货物价格</th><th>操作</th></tr></thead><tbody><c:forEach items="${goods}" var="good"><tr><td>${good.goodId}</td><td>${good.goodName}</td><td>${good.surplus}</td><td>${good.goodPrice}</td><td><font class="text-success">正常</font></td><td><div class="btn-group"><div class="toolbar-btn-action"><a class="btn btn-success m-r-5 submenuitem" href="GoodGetByIdServlet?goodid=${good.goodId}" data-id="link553" data-index="553"><i class="ftsucai-edit-2">编辑</i></a> <a class="btn btn-warning m-r-5 submenuitem" href="GoodDeleteByIdServlet?goodId=${good.goodId}" data-id="link554" data-index="554"><i class="ftsucai-edit-2">删除</i></a></div></div></td></tr></c:forEach></tbody></table></div><ul class="pagination"><li class="disabled"><span>«</span></li><li class="active"><span>1</span></li><li><a class="submenuitem" href="pages_data.html#2">2</a></li><li><a href="#3">3</a></li><li><a href="#4">4</a></li><li><a href="#5">5</a></li><li><a href="#1">6</a></li><li><a href="#1">7</a></li><li><a href="#1">8</a></li><li class="disabled"><span>...</span></li><li><a href="#">14452</a></li><li><a href="#">14453</a></li><li><a href="#">»</a></li></ul></div></div></div></div></div></main><!--End 页面主要内容--><!-- 新 Bootstrap 核心 CSS 文件 --><linkhref="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"rel="stylesheet"><!-- jQuery文件。务必在bootstrap.min.js 之前引入 --><script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><scriptsrc="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script><script>$(function() {$('.search-bar .dropdown-menu a').click(function() {var field = $(this).data('field') || '';$('#search-field').val(field);$('#search-btn').html($(this).text()+ ' <span class="caret"></span>');});});</script>
</body>
</html>

一步步来,开始Good.java

package com.xuexiriji.pojo;public class Good {private int goodId;private String goodName;private int surplus;private int goodPrice;public int getGoodId() {return goodId;}public void setGoodId(int goodId) {this.goodId = goodId;}public String getGoodName() {return goodName;}public void setGoodName(String goodName) {this.goodName = goodName;}public int getSurplus() {return surplus;}public void setSurplus(int surplus) {this.surplus = surplus;}public int getGoodPrice() {return goodPrice;}public void setGoodPrice(int goodPrice) {this.goodPrice = goodPrice;}public Good(int goodId, String goodName, int surplus, int goodPrice) {super();this.goodId = goodId;this.goodName = goodName;this.surplus = surplus;this.goodPrice = goodPrice;}public Good() {super();}@Overridepublic String toString() {return "Good [goodId=" + goodId + ", goodName=" + goodName + ", surplus=" + surplus + ", goodPrice=" + goodPrice+ "]";}}

mapper接口:goodDao.java

package com.xuexiriji.dao;import com.xuexiriji.pojo.Good;import java.util.List;public interface GoodDao {public List<Good> selectAllGood();
}

GoodMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xuexiriji.dao.GoodDao"><select id="selectAllGood" resultType="Good">select * from good</select></mapper>

service这里我就不面向接口了:GoodService

@Service
public class GoodService {@AutowiredGoodDao GoodDao;public List<Good> selectAllGood(){return GoodDao.selectAllGood();}
}

这里我们看好,只要是被spring接管的都是有小叶子的,而且点击都可以跳过去,如果你没有跳过去,那就是没接管,项目都不用运行,可以去找找错误了

在这里插入图片描述

GoodController

@Controller
public class GoodController {@AutowiredGoodService goodService;@RequestMapping("/selectAllGood")public String selectAllGood(Model model){List<Good> goods = goodService.selectAllGood();model.addAttribute("goods",goods);return "index";}}

我们一会儿从登录页面进,登录页面表单加上请求路径
在这里插入图片描述

启动我们的项目,一下去写这么多中间都没有测试,害,希望不要报错一大堆吧,没有报错启动成功:

果然不出我所料必须报错,说没有这个类,其实看到我就想到,还记得之前启动web项目时候说的吗,lib依赖可能不被加进去,所以我们还得重新打下包

在这里插入图片描述

这样这些包就有了

在这里插入图片描述

重新启动,欧克,成功启动

在这里插入图片描述

点击登录,报错:

在这里插入图片描述

这里肯定就是我们的mapper和接口有问题,看下我们的配置,应该是这样的,因为这次我们类名没有起的一直,那就不改了,添加一个mapper.xml记得来这里注册就行

在这里插入图片描述

Ok,测试搞定

在这里插入图片描述

还可以哈,我差不多,这是我第三次吧,整合这个,其实第一整合完,第二次也就是复制粘贴,这次差不多也是复制的第一次的,所以你自己整合好的一个项目,留好,可能这是你后面项目的基底。

小结

这里打算给大家整合做一个小例子的,今天就先整合到这里吧,等后面再给大家做出来,看到这里了,还不点个赞吗,留个关注也行呀,bye~


http://chatgpt.dhexx.cn/article/igjF7rov.shtml

相关文章

SSM整合之登录注册

一、概述 本文以一个登录注册的小功能作为示例&#xff0c;对SSM框架做一个整合。 二、SSM整合 SSM框架是指Spring、SpringMVC和Mybatis&#xff0c;SpringMVC是包含在Spring中的&#xff0c;因此SSM框架整合核心是将Mybatis整合到Spring中。 2.1 DAO 1. 创建如下的数据库表格…

遇见狂神说SSM整合项目梳理详解

在跟B站的狂神学习的时候有一模块是SSM整合的一个小项目&#xff0c;虽然spring、springmvc、mybatis我都学过&#xff0c;但是整合到一起还是思路不清晰&#xff0c;就很懵&#xff0c;整合的一个小项目&#xff0c;让我知道了什么叫配置地狱&#xff0c;就是熟悉又陌生的感觉…

SSM整合Quartz

Quartz 1.整合1.1 mysql中创建quartz表1.2 添加quartz依赖1.3 添加quartz.properties与数据库关联1.4 编写quartzConfig文件1.4.1 quartz的初始化配置1.4.2 创建job 实例工厂 1.5 编写定时任务1.5.1 静态方式编写定时任务1.5.2 动态方式编写定时任务 2.quartz2.1 quartz概念2.2…

SSM 整合

目录 第六章 SSM 整合导图第一节 Spring 和 Mybatis 整合1、思路2、Mybatis-Spring技术3、总体 SSM 整合所需依赖4、配置数据源①创建 jdbc.properties②加入日志配置文件③创建 Spring 配置文件④创建 junit 测试类 5、配置 SqlSessionFactoryBean①创建 Mybatis 全局配置文件…

SSM整合Vue

昨日知识点总结 今日总结 文章目录 一.昨日知识 1.表单验证2.上传组件3.时间插件4.ElementUI简介 二.今日总结 1.页面静态化 通过html页面&#xff0c;制作展示所有制作添加页面 制作修改页面以及批量删除制作分页制作多条件查询 一、昨日重点复习 1.表单验证 在vue中使用rule…

SSM整合过程梳理

文章目录 前言一.SSM整合流程二.整合配置2.1添加依赖2.2创建项目包结构2.3创建SpringConfig配置类2.4创建JdbcConfig配置类2.5创建MybatisConfig配置类2.6创建jdbc.properties2.7创建SpringMVC配置类2.8创建Web项目入口配置类 三.功能模块3.1创建模型类3.2编写Dao接口3.3编写Se…

ssm整合详解

最近做项目用到了ssm,虽然以前用过ssm但这段时间发现&#xff0c;用过不代表就会了&#xff0c;即使以前用过&#xff0c;但现在要搭一个ssm框架不看教程还是很难&#xff0c;最基本的maven仓库需要哪些坐标都搞不清楚&#xff0c;所以今天打算写篇博客梳理一下。 一.基础梳理…

SSM整合分页插件

目录 一.环境配置 1.分页插件依赖 2.在Mybatis里面配置的内容 二.使用分页插件 1.在ServiceImpl层开启分页插件&#xff08;即查询数据库前开启&#xff09; 2.控制器方法 3.jsp页面进行整理 4.效果 5. 样式 6.常用的数据说明 一.环境配置 1.分页插件依赖 <depend…

SSM整合总结

这几天学完spring&#xff0c;springMVC&#xff0c;mybatis后&#xff0c;这两天试着去整合ssm&#xff0c;整合过程并不顺利&#xff0c;一是基础知识有的忘了&#xff0c;细节不能把握住&#xff0c;造成各种报错.看了各种视频&#xff0c;翻阅各种文章&#xff0c;多多少少…

SSM整合shiro

1.完成ssm整合shiro 企业中老项目还在使用ssm框架。 准备数据库 数据结构 张三 -user:query user:add user:update user:delete 李四 ---》user:query user:add user:update 王五-----》user:query user:export 搭建ssm的环境 &#xff08;1&#xff09;创建一个maven的web工…

SSM整合

1、ssm整合原理 SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层。 使用spring MVC负责请求的转发和视图管理 spring实现业…

SSM整合,手把手教程,详解思路讲解

前言 一&#xff0c;工程创建 1.新建Maven项目&#xff0c;项目架构增加web支持 2.Maven本地仓库配置 3.集成Tomcat&#xff0c;搭建web环境 二&#xff0c;导入依赖 三&#xff0c;配置文件编写 1.web环境配置文件 2.spring整合环境配置文件 2.1 controller层(spring…

SSM整合完整流程讲解

目录 一、SSM整合说明 1、各个框架担任的角色 2、两个Ioc容器的创建顺序 1&#xff09;SpringMVC中IOC容器的创建时间 2&#xff09;Spring中IOC容器的创建时间 3&#xff09;Spring提供的监听器ContextLoaderListener 二、SSM整合步骤 1、准备工作 1&#xff09;导入…

Unresolved Dependencies

在Android Studio的开发中&#xff0c;在软件中集成了ButterKnife插件&#xff0c;另外需要集成ButterKnife的jar包。因为本地没有现成的&#xff0c;所以在module的build.gradle文件中添加了如下代码&#xff1a; compile com.jakewharton:butterknife:7.0.1 结果报了如下错误…

Pycharm 出现Unresolved reference ‘‘ 错误的解决方法 --- 亲测有效

在用Pycharm写项目的时候的时候碰到一个很无语的问题 路径明明没有问题&#xff0c;运行也没有出错&#xff0c;但就是爆红&#xff0c;逼死强迫症啊。。。 多方查找最后解决了。步骤如下&#xff1a; File–>Settings–>Project Structure–>找到问题目录–>Sou…

PyCharm错误提示- Unresolved reference 的解决

使用PyCharm加载工程时,发生解析错误 原本这个工程是可以通过 python manange.py runserver 方式运行的,说明文件是正常的。关键在于PyCharm环境的问题。 查找了半天,安装一些网上的解决方式,尝试了以下几种方式: 1,修改忽略文件 File –>Settings –>Editor –…

Goland 提示 Unresolved reference 错误解决

之前一直正常的项目&#xff0c;莫名其妙的 database/sql 包下的方法、结构体等等IDE都无法识别&#xff0c;出现一堆Unresolved reference错误提示&#xff0c;但包导入路径可以正确定位&#xff0c;而且项目运行也正常&#xff0c;其他包都正常&#xff0c;另一个项目下同样使…

error LNK2019: unresolved external symbol

error LNK2019: unresolved external symbol&#xff1a;链接器找不到所需要的东西 此时ctrlF7进行编译&#xff0c;没有报错&#xff0c;在这个程序中调用的是Log函数&#xff0c;我们实际上并没有这个函数&#xff0c; 我们有的函数是Logr函数&#xff0c;在编译过程中编译器…

Unresolved reference ‘matplotlib‘解决方法

首先打开最左边的file-settings 然后点这个添加 找想添加的 最后点最下面的install Package 就可以啦

快速解决Pycharm中unresolved reference

在用Pycharm时老是报红&#xff0c;虽然不影响运行&#xff0c;但是真的很不好看。 如下&#xff1a; 根据网上大部分教程设置source root&#xff0c;设置之后还是没有变化。 然后我发现了这个东西&#xff0c;真的是立即生效&#xff0c;就是不知道改了之后有没有什么后遗症…