【实习日志】SSM用户管理系统搭建+更新
文章目录
- 设计编写数据库
- 使用Maven创建项目
- 导入ssm所有包
- 创建目录结构
- 编写bean和dao层
- 配置Spring和Mybatis
- 编写Mapper
- 编写service层
- 配置spring-mvc.xml和web.xml
- 引入jsp页面
- 编写controller层
- 配置tomcat
设计编写数据库
- 数据库设计:
使用Maven创建项目
新建项目
选择图中选中的Maven项目:
选择已经安装好的本地仓库并+新建properties:
新建内容为archytypeCatalog=internal
archetypeCatalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置,internal——maven-archetype-plugin内置的。配置阿里云仓库后可以加快下载最后点击finish完成创建
项目创建后点击窗口右下角弹窗的Enable Auto-Import确保自动导包:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019071517112122.png等待相关配置下载直到出现WEB-INF文件夹,自动生成的文件目录如下:
导入ssm所有包
- 在pom.xml中体现了所有包,将素材.zip中pom.xml的
<properties>
——</properties>
和<dependencis>
——</dependencis>
的部分替换掉项目中的相应部分。
properties中包括spring版本号、mybatis版本号、log4j日志文件管理包版本等,dependencis包括spring核心包、mybatis核心包、java ee jar 包、Mysql数据库链接jar包、dbcp的jar包(用来在applicationContext.xml中配置数据库)等。
创建目录结构
mvc的主要作用是将业务代码与逻辑代码分离。
- 在main下右击新建 Directory命名为java,在java上右击选择Mark Directory as->Sources Root.
- 在java文件夹下右击新建Package,命名com.zhongruan,
- 在zhongruan文件下右击新建4个Package,分别命名为bean、dao、service、controller
- 在main下右击新建 Directory命名为resources,在java上右击选择Mark Directory as->Resources Root,用来保存配置ssm的配置文件。
编写bean和dao层
- 在bean包下新建UserInfo类,作用是映射数据库字段。
package com.zhongruan.bean;public class UserInfo {private int id;private String username;private String password;}
写好参数,并空白处右键选择Generate生成构造方法,Getter&Setter方法,重写toString()方法。
get and set传值方式:UserInfo userInfo = new UserInfo(); UserInfo.get/set.
构造方法传值方式:UserInfo userInfo = new UserInfo(1,“zzz”,“admin”).
- 在dao包下新建UserDao接口,作用是与数据库交互。
package com.zhongruan.dao;import com.zhongruan.bean.UserInfo;//数据库交互层import javax.xml.registry.infomodel.User;
import java.util.List;// 数据库交互
public interface UserDao {// 查询全部List<UserInfo> findAll();// 更新前查询UserInfo findUserById(int id);// 更新void updateUserById(UserInfo userInfo);
}
项目报红时使用Alt+Enter快速解决。
配置Spring和Mybatis
- 将素材.zip中的applicationContext.xml(Spring和Mybatis的配置文件)、db.properties(数据库连接配置文件)、log4j.properties(日志文件)复制粘贴到项目resources文件夹下。
- 打开db.properties,将 jdbc.url改为
jdbc:mysql://localhost:3306/数据库名?useSSL=true&characterEncoding=utf-8
。将用户名和密码改为自己的数据库用户名和密码。 - 打开applicationContext.xml,33行
<property name="typeAliasesPackage" value="com.zhongruan.bean"></property>
中com.zhongruan.bean
修改为自己bean包的路径。44行同样处理。52行<context:component-scan base-package="com.zhongruan"/>
地址修改为自己bean包等包所在路径。
编写Mapper
-在resources下右击新建Directory,命名为mapper,在mapper下右击新建File,命名为UserMapper,xml,此为dao层的实现层。
- 将下列代码复制进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="com.zhongruan.dao.UserDao" ></mapper>
上述namespace命名空间对应接口位置
- 在UserMapper,xml写sql语句,如查询全部语句
<select id="findAll" resultType="com.zhongruan.bean.UserInfo" > select * from tb_user </select>
,id为对应方法名称,resultType为返回值类型。
编写service层
service层为业务逻辑层,在service层写具体实现。
- 在service包下右击新建一个名为UserInfoService的接口,UserInfoService跟dao层UserDao代码几乎相同;然后在service包下右击新建一个名为impl的Directory,在里面新建名为UserInfoServiceImpl的类。
@Service
public class UserInfoServiceImpl implements UserInfoService {@Autowiredprivate UserDao userDao;@Overridepublic List<UserInfo> findAll() {return userDao.findAll();}@Overridepublic UserInfo findUserById(int id){return userDao.findUserById(id);}@Overridepublic void updateUserById(UserInfo userInfo) {userDao.updateUserById(userInfo);}
@Autowired注解是自动装配的意思,体现了Spring框架的DI
执行流程:bean→dao→service→controller→回返到页面
配置spring-mvc.xml和web.xml
- 将素材.zip中的spring-mvc.xml复制粘贴到resouces文件夹下,在此文件中配置了地址映射器和适配器,视图解析器等。
spring-mvc.xml扫描controller层
- 过滤器、监听器、拦截器写到web.xml,将素材.zip中的web.xml拷贝到WEB-INF文件夹下覆盖原来的文件,此文件将三个结构整合在一起。
引入jsp页面
- 将素材.zip中jsp文件夹拷贝到webapp下。
编写controller层
在controller包右击新建javaClass名为UserInfoController,sprin-mvc.xml中视图解析器的prefix改为"/pages/"。
@Controller
@RequestMapping("/user")
public class UserInfoController {@Autowiredprivate UserInfoService userInfoService;@RequestMapping("findAll.do")public ModelAndView findAll(){List<UserInfo> userInfoList = new userInfoService.findAll();ModelAndView mv = new ModelAndView();mv.addObject("userInfoList",userInfoList);mv.setViewName("user-list");return mv;}
在编写controller层时,所有返回页面的数据都需要放在ModelAndView对象中进行传递
@RequestMapping("/findUserById.do")public ModelAndView findUserById(int id){UserInfo userInfo = userInfoService.findUserById(id);// int id = user.getId();// List<User> userList=userService.findAllUser();ModelAndView mv=new ModelAndView();mv.addObject("userInfo",userInfo);mv.setViewName("user-update");return mv;}@RequestMapping("/updateUserById.do")public String updateUser(UserInfo userInfo){userInfoService.updateUserById(userInfo);return "redirect:findAll.do";}
在user-list和user-update中将相应的变量修改。
配置tomcat
素材.zip
链接:https://pan.baidu.com/s/1ml-RfbWwaDF6yRGbSyU-Mg
提取码:sc85
页面.rar
链接:https://pan.baidu.com/s/1VcDzPSy6Ksf7FTh9H77iJg
提取码:s5h2
【实习日志】SSM用户管理系统搭建+更新相关推荐
- 实习日志 - 第四天
文章目录 摘要 1. 用户管理系统搭建查询 2. 完善论文开题报告 3. 设计数据库 摘要 今天是实习的第四天,主要的工作是用户管理系统搭建查询.完善论文开题报告.设计数据库,并自己有联系了一 ...
- (附源码)ssm基于bs的健身房用户管理系统的设计与实现 毕业设计271611
健身房用户管理系统的设计与实现 摘 要 大数据时代下,数据呈爆炸式地增长.为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势.在健身房管理的要 ...
- 实习笔记 —— SSM三个框架的整合 VIII (添加用户)
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...
- 视频教程-SSM后台管理系统开发实战-Java
SSM后台管理系统开发实战 5年IT从业经验,目前职位是Java高级工程师.架构师,在gitchat发布有<SSM博客系统开发实战>达人课,CSDN博客专家,博客专栏作者,梦境网项目独立开 ...
- SSM+服装管理系统 毕业设计-附源码080948
SSM服装管理系统 摘 要 近年来,随着移动互联网的快速发展,商务越来越受到网民们的欢迎,商务对国家经济的发展也起着越来越重要的作用.简单的流程.便捷可靠的支付方式.快捷畅通的物流快递.安全的信息保护 ...
- 基于SSM酒店管理系统
1,项目功能: (1)房间管理:该模块主要实现房间信息的查询,房间信息的删除,房间信息的修改以及房间信息的查看.管理员可以在系统中查看房间列表,并对列表信息后面得编辑按钮进入编辑页面,在编辑页面把修改 ...
- SSM+公寓管理系统 毕业设计-附源码171958
SSM公寓管理系统 摘 要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,公寓管理系统当然也不能排除在外.公寓管理系统是以实际运用为开发 ...
- SSM+停车管理系统 毕业设计-附源码171046
基于ssm停车管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展 ...
- SSM图书管理系统(增强版,附源码)
系统原版功能(新人必看): 1.该系统分三种用户角色:普通用户.管理员.超星管理员,分别对应users.admins.sysadmin数据库表 2.普通用户基本功能:查询书籍.借阅书籍.归还书籍 3. ...
最新文章
- TensorFlow惊现大bug?网友:这是逼着我们用PyTorch啊!
- Android 使用RxJava--基础篇
- 优化信息流很麻烦?三招教你轻松搞定
- 用Saltstack的modules和grains实现实时监控平台
- tcp与ip协议的区别
- 利用task和电平敏感的always快设计经比较后重组信号的组合逻辑
- PHP的钩子实现解析
- mysql limit函数
- python标准输出_Python(2.7)-标准输入输出,标准错误输出
- 推荐一款Linux服务器连接工具FinalShell
- linux之我常用的20条命令(之二)
- curl 命令-接口测试
- uat环境是什么环境_什么是开发环境、测试环境、UAT环境、仿真环境、生产环境(收集整理)...
- 微信 小程序弹框 简单实现
- MD5及pack安装
- pdf文件如何生成目录 wps_如何使用WPS把Word文档转换为PDF文档并生成目录?
- AutoJs学习-抖音自动评论
- 【119天】尚学堂高琪Java300集视频精华笔记(24-30)
- Java正则获取a标签href_获取页面所有a标签href
- [附源码]Python计算机毕业设计SSM基于协同过滤算法的个性化智能图书推荐系统(程序+LW)