SSM框架实现数据库的增删查改

本文介绍了如何使用SSM框架进行数据库的增删查改操作。首先,通过用户管理系统模板搭建SSM项目,接着在UserDao层添加相关函数,UserMapper.xml中编写SQL语句,Service层创建函数,ServiceImpl层实现方法,然后编写Controller层,并对jsp页面进行修改,调整路径以实现数据的传递和页面跳转。
摘要由CSDN通过智能技术生成

1. 使用用户管理系统模板搭建SSM

创建一个项目,导入用户管理系统模板并根据步骤搭建SSM框架
用户系统管理模板:
在这里插入图片描述

2. 实现数据库的增删查改操作

  1. 在UserDao层添加函数
public interface UserDao {
    //查询全部
    List<UserInfo> findAll();

    //更新前的查询
    UserInfo findUserById(int id);

    //更新
    void updUserById(UserInfo userInfo);

    //增加
    void addUser(UserInfo userInfo);

    //删除
    void delUser(int id);

    //模糊查询
    List<UserInfo> findUserByName(String username);

}
  1. 在UserMapper.xml中根据对应的方法功能编写相应的sql语句
<mapper namespace="com.zhongruan.dao.UserDao" >
    <!-- 查询全部 -->
    <select id="findAll" resultType="com.zhongruan.bean.UserInfo">
        select * from tb_user
    </select>

    <!--    更新前查询-->
    <select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
        select * from tb_user where id=#{id}
    </select>

    <!--    更新-->
    <update id="updUserById" parameterType="com.zhongruan.bean.UserInfo">
        update tb_user set username=#{username},password=#{password} where id=#{id}
    </update>

    <!--    增加-->
    <insert id="addUser" parameterType="com.zhongruan.bean.UserInfo">
        INSERT INTO tb_user(id,username,password) values(#{id},#{username},#{password})
    </insert>
    
</mapper>
  1. 在Service层创建相同的函数
public interface UserInfoService {
    //全部查询
    List<UserInfo> findAll();

    //更新前查询
    UserInfo findUserById(int id);

    //更新
    void updUserById(UserInfo userInfo);

    //增加
    void addUser(UserInfo userInfo);

    //删除
    void delUser(int id);

    //模糊查询
    List<UserInfo> findUserByName(String username);
}
}
  1. 在ServiceImpl层实现相应的方法
@Service
public class UserInfoServiceImpl implements UserInfoService
{
    @Autowired
    private UserDao userDao;

    @Override
    public List<UserInfo> findAll()
    {
        return userDao.findAll();
    }

    public UserInfo findUserById(int id)
    {
        return userDao.findUserById(id);
    }

    public void updUserById(UserInfo userInfo)
    {
        userDao.updUserById(userInfo);
    }

    @Override
    public void addUser(UserInfo userInfo)
    {
        userDao.addUser(userInfo);
    }

    @Override
    public void delUser(int id)
    {
        userDao.delUser(id);
    }

    @Override
    public List<UserInfo> findUserByName(String username)
    {
        return userDao.findUserByName(username);
    }
}
  1. 编写controller层
@Controller
@RequestMapping("/user")
public class UserInfoController
{

    @Autowired
    private UserInfoService userInfoService;

    @RequestMapping("/findAll.do")
    public ModelAndView findAll()
    {
        //1.调用service方法查询并返回结果
        List<UserInfo> userInfoList = userInfoService.findAll();
        //2.实例化ModelAndView
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfoList", userInfoList);
        mv.setViewName("user-list");
        return mv;
    }

    //更新前查询
    @RequestMapping("/findUserById.do")
    public ModelAndView findUserById(int id)
    {
        UserInfo userInfo = userInfoService.findUserById(id);
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfo", userInfo);
        mv.setViewName("user-update");
        return mv;
    }

    //更新
    @RequestMapping("/updUserById.do")
    public String updUserById(UserInfo userInfo)
    {
        userInfoService.updUserById(userInfo);
        return "redirect:findAll.do";
    }

    // 增加
    @RequestMapping("/addUser.do")
    public String addUser(UserInfo userInfo)
    {
        userInfoService.addUser(userInfo);
        return "redirect:findAll.do";
    }

    //删除
    @RequestMapping("/delUser.do")
    public String delUser(int id)
    {
        userInfoService.delUser(id);
        return "redirect:findAll.do";
    }

    //模糊查询
    @RequestMapping("/findUserByName.do")
    public ModelAndView findUserByName(String username)
    {
        List<UserInfo> userInfoList = userInfoService.findUserByName(username);
        ModelAndView mv = new ModelAndView();
        mv.addObject("userInfoList", userInfoList);
        mv.setViewName("user-list");
        return mv;
    }
}
  1. 修改jsp页面
    修改路径,实现数据的传递和页面的跳转
    user-list.jsp
<!--数据列表-->
	<table id="dataList" class="table table-bordered table-striped table-hover dataTable">
		<thead>
			<tr>
				<th class="" style="padding-right: 0px">
				    <input id="selall" type="checkbox" class="icheckbox_square-blue">
				</th>
				<th class="sorting_asc">ID</th>
				<th class="sorting_desc">用户名</th>
				<th class="sorting_asc sorting_asc_disabled">密码</th>
				<th class="text-center">操作</th>
				</tr>
		</thead>
		<tbody>
		<c:forEach var="user" items="${userInfoList}">
		    <tr>
		        <td><input name="ids" type="checkbox"></td>
			    <td>${user.id}</td>
			    <td>${user.username}</td>
			    <td>${user.password}</td>
			    <td class="text-center">
			        <a href="${pageContext.request.contextPath}/user/findUserById.do?id=${user.id}" class="btn bg-olive btn-xs">更新</a>
				    <a href="#" class="btn bg-olive btn-xs">删除</a>
				    <a href="#" class="btn bg-olive btn-xs">添加角色</a>
			    </td>
		    </tr>
		</c:forEach>
		</tbody>
	</table>
<!--数据列表/-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值