实习日记day4

1.ssm文件目录详解

1.1 java文件夹

在这里插入图片描述
java文件夹下放bean,controller ,dao,service四个包。
bean:存放定义的实体类,这里是UserInfo类,里面定义UserInfo的属性和get,set方法

package com.zhongruan.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:定义IUserDao接口,里面都是没有实现的方法。

package com.zhongruan.dao;
import com.zhongruan.bean.UserInfo;
import java.util.List;
public interface IUserDao {
    public List<UserInfo> findAll();
    public boolean save(UserInfo userInfo);
    public boolean delete (int id);
    public boolean update(UserInfo userInfo);
    public UserInfo queryById(int id);
}

Service包里面有接口IUserService和该接口的实现类UseServiceImpl

package com.zhongruan.service.impl;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.IUserDao;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UseServiceImpl implements IUserService {
    @Autowired
    IUserDao userdao;
    @Override
    public List<UserInfo> findAll() {
        return userdao.findAll();
    }
    @Override
    public boolean save(UserInfo userInfo) {
        return userdao.save(userInfo);
    }
    @Override
    public boolean update(UserInfo userInfo) {
        return userdao.update(userInfo);
    }
    @Override
    public UserInfo queryById(int id) {
        return userdao.queryById(id);
    }
    @Override
    public boolean delete(int id) {
        return userdao.delete(id);
    }
}

controller:最为重要的类,控制页面的跳转,在每个方法里面通过mv.setViewName(“页面名称”)跳转到页面。

package com.zhongruan.controller;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private IUserService userService;
    ModelAndView mv;
    List<UserInfo> userInfos;
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(){
        userInfos=userService.findAll();
        mv=new ModelAndView();
        mv.addObject("ui",userInfos);
        mv.setViewName("allUser");
        return mv;
    }
    @RequestMapping("toAddUser.do")
    public ModelAndView toAddUser(){
        ModelAndView mv=new ModelAndView();
        mv.setViewName("addUser");
        return mv;
    }
    @RequestMapping("/save.do")
    public ModelAndView save(UserInfo userInfo){
        mv=new ModelAndView();
        userService.save(userInfo);
        userInfos=userService.findAll();
        mv.addObject("ui",userInfos);
        mv.setViewName("allUser");
        return mv;
    }
    @RequestMapping("toUpdate")
    public ModelAndView toUpdate(int id){
         mv=new ModelAndView();
         UserInfo userInfo=userService.queryById(id);
         mv.addObject("userInfo",userInfo);
         mv.setViewName("updateUser");
         return mv;
    }
    @RequestMapping("/update.do")
    public ModelAndView update(UserInfo userInfo){
        mv=new ModelAndView();
        userService.update(userInfo);
        List<UserInfo> userInfos=userService.findAll();
        mv.addObject("ui",userInfos);
        mv.setViewName("allUser");
        return mv;
    }
    @RequestMapping("/delete.do")
    public ModelAndView delete (int id){
        mv=new ModelAndView();
        userService.delete(id);
        List<UserInfo> userInfos=userService.findAll();
        mv.addObject("ui",userInfos);
        mv.setViewName("allUser");
        return mv;
    }
}
1.2resources文件夹

在这里插入图片描述
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.IUserDao" >
    <resultMap id="userResultMap" type="UserInfo">
        <id property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
    </resultMap>
<select id="findAll"  resultType="UserInfo">
    select*from userinfo
</select>
<insert id="save"  parameterType="UserInfo">
    insert into userinfo (id,username ,password)values(#{id},#{username},#{password})
</insert>
<update id="update" parameterType="UserInfo">
update  userinfo set username=#{username},password=#{password} where id=#{id}
</update>
<select id="queryById" resultType="UserInfo" parameterType="int">
    select id,username,password from userinfo where id=#{id}
</select>
<delete id="delete" parameterType="int">
    delete from userinfo where id=#{id}
</delete>
</mapper>

applicationContext.xml,db.properties存放连接数据库的参数,log4j.properties存放日志文件,spring-mvc.xml存放需要映射的一些参数

1.3webapp文件夹存放网页和web.xml文件

除此外pom.xml中存放需要导入包的版本和依赖

可以从下面链接中查看各种包的Maven dependencies地址
https://mvnrepository.com/
在这里插入图片描述

2.ssm项目中的注意事项

可以在UserController.java中定义全局变量,
在这里插入图片描述
然后在.jsp文件中进行访问
在这里插入图片描述
注意关键字的使用
比如
@controller
@RequestMapping("/findAll.do")
@Autowired

3.id自动增长修改

在项目中遇到了删除记录,但是id还是从最后一个id开始增加,不管表中有没有记录,可以使用下面的语句来重置id自动增长的第一个值
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值