【实习日志】SSM用户管理系统搭建+更新

设计编写数据库

  • 数据库设计:
    数据库设计

使用Maven创建项目

  • 新建项目

  • 选择图中选中的Maven项目:
    选择图中选中的Maven项目

  • 选择已经安装好的本地仓库并+新建properties:
    选择已经安装好的本地仓库并+新建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 {

   @Autowired
   private UserDao userDao;

   @Override
   public List<UserInfo> findAll() {
       return userDao.findAll();
   }
   @Override
   public UserInfo findUserById(int id){
       return userDao.findUserById(id);
   }
   @Override
   public 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 {
    @Autowired
    private 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值