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自动增长的第一个值