基于SSM的单表简易登录、增删改查项目建立与实现
1、建立项目
1.1、File->New->Project->完成如图选择(选择Maven->勾选Create from archetype->选择maven……webapp(注意不是cocoon……webapp),部署jdk)
填写信息,新学可随意填写;
选择自己的maven
路径等信息;
点击Finish后需要下载架包,需要一定时间,出现下图内容则成功;
随后修改配置文件;(需要提前准备素材)
替换pom.xml文件下 以及标签之间的内容;右击pom.xml,选择maven,选择reimport后自动下载架包;
替换内容如下:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <!-- spring版本号 --> <spring.version>5.0.2.RELEASE</spring.version> <!-- mybatis版本号 --> <mybatis.version>3.2.6</mybatis.version> <!-- log4j日志文件管理包版本 --> <slf4j.version>1.7.7</slf4j.version> <log4j.version>1.2.17</log4j.version> <c3p0.version>0.9.5.2</c3p0.version> <taglibs.version>1.1.2</taglibs.version> </properties> <dependencies> <!-- spring核心包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- 导入java ee jar 包 --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!-- 导入Mysql数据库链接jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.2.2</version> </dependency> <!-- JSTL标签类 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 日志文件管理包 --> <!-- log start --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- 数据连接池 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>${c3p0.version}</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>${taglibs.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- 导入servlet-api/jsp --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> <scope>provided</scope> </dependency> </dependencies>
替换完成后,按住Ctrl键,
3ff7
点击标签间内容,可完成跳转则成功;
1.2完成项目结构设计
主要结构如图,注意:java文件右击-Mark Directory as Sources root,resources文件右击Mark Directory as Resources root;(其中resources文件下资源配置文件为提前准备的)
2.配置文件资源修改
2.1 db.properties修改
按照自己的数据库修改相应参数url,username,password;
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/data jdbc.username=root jdbc.password=root
2.2applicationContext.xml修改
修改相应参数对应自己的项目结构,主要是包名,因为该文件主要是扫描项目文件。
如下便需修改value值:
<property name="typeAliasesPackage" value="com.zr.bean"></property>
2.3、spring-mvc.xml文件修改
该文件在spring层与model层之间,视图解析(加上.jsp后缀),主要修改需扫描的包名。
如下修改value值:
<context:component-scan base-package="com.zr.controller" />
2.4、web.xml文件修改
修改为:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- 配置加载类路径的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!-- 配置监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <!-- 解决中文乱码过滤器 --> <filter> <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- 服务器启动的时候,让DispatcherServlet对象创建 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
3、开始编写
主要思路可以是从网页到数据库(.jsp->controller->service->dao->数据库),也可反过来;
首先我们创建实体类对应数据库表,在bean文件下按如下建立:
只需填写相关属性,可以通过右击编辑区->选择generate->选择相应操作来快速生成。
package com.zr.bean; public class Userinfo { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Userinfo{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
其次从dao层来操作数据库:
在dao文件下建立接口IUserDao,创建findAll方法(下面主要以查为例作简易说明):
package com.zr.dao; import com.zr.bean.Userinfo; import javax.xml.registry.infomodel.User; import java.util.List; public interface IUserDao { List<Userinfo> findAll(); }
下面来实现接口中方法:
在mapper文件下创建UserMapper.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="" > </mapper>
然后来实现,如下:
<?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.zr.dao.IUserDao" > <select id="IUserDao" resultType="com.zr.bean.Userinfo"> select * from userinfo </select> </mapper>
然后来到服务层,创建IUserService接口(主要为了以后方便,这个项目体现不了):
package com.zr.service; import com.zr.bean.Userinfo; import java.util.List; public interface IUserService { List<Userinfo> findAll(); }
我们创建实体类UserService在impl文件(创建在service文件下)下:
package com.zr.service.impl; import com.zr.bean.Userinfo; import com.zr.dao.IUserDao; import com.zr.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService implements IUserService { @Autowired IUserDao userDao; @Override public List<Userinfo> findAll() { return userDao.findAll(); } }
下面在controller文件下建立UserController类:
package com.zr.controller; import com.sun.org.apache.bcel.internal.generic.IUSHR; import com.zr.bean.Userinfo; import com.zr.service.IUserService; import com.zr.service.impl.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; @RequestMapping("/user")//路径 public class UserController { @Autowired private IUserService userService; @RequestMapping("/findAll.do")//路径 public String findAll(Model model){ List<Userinfo> all=userService.findAll(); model.addAttribute("userinfos",all); return "allUser";//转到allUser.jsp网页,取名allUser.jsp; } }
下面通过controller跳转到网页,所以建立网页,因为之前准备好(素材里),所以现在只需导入以下。
allUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>user列表</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 引入 Bootstrap --> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="row clearfix"> <div class="col-md-12 column"> <div class="page-header"> <h1> 基于SSM框架的管理系统:简单实现增、删、改、查。 </h1> </div> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <div class="page-header"> <h1> <small>用户列表 —— 显示所有用户</small> </h1> </div> </div> </div> <div class="row"> <div class="col-md-4 column"> <a class="btn btn-primary" href="${pageContext.request.contextPath}/user/toAddUser.do">新增</a> </div> </div> <div class="row clearfix"> <div class="col-md-12 column"> <table class="table table-hover table-striped"> <thead> <tr> <th>id</th> <th>用户名</th> <th>密码</th> <th>操作</th> </tr> </thead> <tbody> <c:forEach items="${userinfos}" var="userInfo"> <tr> <td>${userInfo.id}</td> <td>${userInfo.username}</td> <td>${userInfo.password}</td> <td> <a href="${pageContext.request.contextPath}/user/toUpdate.do?id=${userInfo.id}">更改</a> | <a href="${pageContext.request.contextPath}/user/delete.do?id=${userInfo.id}">删除</a> </td> </tr> </c:forEach> </tbody> </table> </div> </div> </div>
随后修改index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> <html> <body> <h2>Hello World!</h2> <a href="${pageContext.request.contextPath}/user/findAll.do">查询所有</a> </body> </html>
4、编译运行
4.1、run->edit configurations->选择tomcat->local
设置到如下图:
再进行设置:
随后Apply ->OK->点击运行完成。
还有增删改与登录类似流程,点赞关注哦
- EChat(简易聊天项目)六、实现记住密码和自动登录
- mybatise基于xml配置的实现增删改查的一个完整项目下载
- SSM框架-Mybatis基于注解实现增删查改和多参数列表查询
- VUE+SSM 以VUE做项目前端,SSM做后端框架,难点在于数据的传输处理,下面我记录一下一个简单的登录退出功能的实现,如果有缺陷还请大佬指出,个人菜鸟 一个,正在学习当中,以此记录一下自己的学习
- IDEA+MAVEN基于ssm框架的用户登录以及增删查改
- EChat(简易聊天项目)一、登录注册实现
- 基于SSM与WebSocket的聊天项目(实现白板演示)
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
- JDBC基于MVC架构项目实例-实现对MySQL数据表的增删改查、调用数据表中的存储过程和函数
- 基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)
- 基于SSM框架实现简单的登录注册的示例代码
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
- 基于之前写的博客(SSM框架搭建以及简单增删改查以及分页功能的实现(前端bootstrap+css+jq))进一步的封装(改为SqlSessionTemplate方式实现)
- SSM整合框架与之用户登录功能项目的实现
- 基于SSM的maven管理web项目的实现
- IDEA+MAVEN基于ssm框架的数据库增删查改以及用户登录
- 使用ssm框架进行整合,实现一个小的项目,对员工信息的增删改查
- idea 基于maven 的ssm 整合实现登录功能(第一篇)
- 基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)
- 基于SSM实现的简易员工管理系统