20190701-IDEA+SSM 创建父工程并实现登录及增删查改

IDEA+SSM 创建父工程并实现登录及增删查改

1.创建父工程

File->New->Project
在这里插入图片描述
不勾这里直接进行下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.搭建SSM框架

完整框架
创建过程:右键点击ssm_parent,选择new->module
其中ssm_bean、ssm_dao、ssm_service创建过程与父工程一致,不需要勾Create from archrtype,但
新建ssm_web是需要勾Create from archrtype!!!

建好后在ssm_bean/src/main/java中添加com.zhongruan.bean包,在bean下新建UserInfo.java。在ssm_dao/src/main的java下添加com.zhongruan.dao包,在dao包下新建接口IUserDao,并在ssm_dao/src/main的resources下添加mapper包,在mapper下新建usermapper.xml。在ssm_service/src/main/java下添加com.zhongruan.service包,在service包下新建接口IUserService和Package命名为impl,在impl下新建接口的实现类UserService.java。在ssm_web/src/main/java下新建com.zhongruan.controller,在controller下新建UserController.java,将resource和webapp中所需的素材拷贝过来。
至此,SSM父工程就搭建完成了。

3.实现登录及增删查改功能

UserInfo.java

package com.zhongruan.bean;

public class UserInfo {
    private Long id;
    private String username;
    private String password;

    public Long getId() {
        return id;
    }

    public void setId(Long 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 + '\'' +
                '}';
    }
}

IUserDao.java

package com.zhongruan.dao;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserDao {
    public List<UserInfo> findAll();
    public UserInfo doLogin(UserInfo userInfo);
    public boolean save(UserInfo userInfo);
    public boolean delete(Long id);

    public boolean update(UserInfo userInfo);

    UserInfo queryById(Long id);
}

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" >
<select id="findAll" resultType="com.zhongruan.bean.UserInfo">
    select * from userinfo
</select>

<select id="doLogin" parameterType="com.zhongruan.bean.UserInfo" resultType="com.zhongruan.bean.UserInfo">
    select * from userinfo where username=#{username} and password=#{password}
</select>

    <insert id="save" parameterType="com.zhongruan.bean.UserInfo">
        insert into userinfo(id,username,password) value (#{id},#{username},#{password});
    </insert>

    <delete id="delete" parameterType="long">
        DELETE FROM userinfo WHERE id=#{id}
    </delete>

    <update id="update" parameterType="com.zhongruan.bean.UserInfo">
        UPDATE userinfo
        SET username = #{username},password = #{password}
        WHERE  id = #{id}
    </update>

    <select id="queryById" resultType="com.zhongruan.bean.UserInfo" parameterType="long">
        SELECT id,username,password
        FROM userinfo
        WHERE id=#{id}
    </select>

</mapper>

IUserService

package com.zhongruan.service;

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserService {
    public List<UserInfo> findAll();
    public Boolean doLogin(UserInfo userInfo);
    public boolean save(UserInfo userInfo);
    public boolean delete(Long id);
    public boolean update(UserInfo userInfo);

    UserInfo queryById(Long id);
}


UserService

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 UserService implements IUserService {
    @Autowired
    private IUserDao userDao;
    @Override
    public List<UserInfo> findAll() {
        return userDao.findAll();
    }

    @Override
    public Boolean doLogin(UserInfo userInfo) {
        UserInfo userInfo1=userDao.doLogin(userInfo);
        if (null!=userInfo1){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public boolean save(UserInfo userInfo) {
        return userDao.save(userInfo);
    }

    @Override
    public boolean delete(Long id) {
        return userDao.delete(id);
    }

    @Override
    public boolean update(UserInfo userInfo) {
        return userDao.update(userInfo);
    }

    @Override
    public UserInfo queryById(Long id) {
        return userDao.queryById(id);
    }
}

UserController

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.ui.Model;
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;

    @RequestMapping("findAll.do")
    public ModelAndView findAll(){
        List<UserInfo> infos=userService.findAll();
        ModelAndView mv=new ModelAndView();
        mv.addObject("infos",infos);
        mv.setViewName("user-list");
        return mv;
    }

    @RequestMapping("login.do")
    public ModelAndView dologin(UserInfo userInfo){
        Boolean flag=userService.doLogin(userInfo);
        ModelAndView modelAndView=new ModelAndView();
        if (flag){
            modelAndView.setViewName("main");
        }else {
            modelAndView.setViewName("../failer");
        }
        return modelAndView;
    }

    @RequestMapping("/toAddUser.do")
    public ModelAndView toAddUser(){
        ModelAndView mv=new ModelAndView();
        mv.setViewName("user-add");
        return mv;
    }

    @RequestMapping("/save.do")
    public String save(UserInfo userInfo){
        userService.save(userInfo);
        return "redirect:/user/findAll.do";
    }

    @RequestMapping("/delete.do")
    public String delete(Long id){
        userService.delete(id);
        return "redirect:/user/findAll.do";
    }
    @RequestMapping("/toUpdate.do")
    public String toUpdate(Model model, Long id){
        model.addAttribute("ui",userService.queryById(id));
        return "user-update";
    }

    @RequestMapping("/update.do")
    public String update(UserInfo userInfo,Model model){
        userService.update(userInfo);
        userInfo=userService.queryById(userInfo.getId());
        model.addAttribute("ui",userInfo);
        return "redirect:/user/findAll.do";
    }

}

login.jsp登录页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>中软ETC用户管理系统</title>

<meta
	content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
	name="viewport">

<link rel="stylesheet"
	href="${pageContext.request.contextPath}/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet"
	href="${pageContext.request.contextPath}/plugins/iCheck/square/blue.css">
</head>

<body class="hold-transition login-page">
	<div class="login-box">
		<div class="login-logo">
			<a href="all-admin-index.html">中软<b>ETC</b>用户管理系统</a>
		</div>
		<!-- /.login-logo -->
		<div class="login-box-body">
			<p class="login-box-msg">登录系统</p>

			<form action="${pageContext.request.contextPath}/user/login.do" method="post">
				<div class="form-group has-feedback">
					<input type="text" name="username" class="form-control"
						placeholder="用户名"> <span
						class="glyphicon glyphicon-envelope form-control-feedback"></span>
				</div>
				<div class="form-group has-feedback">
					<input type="password" name="password" class="form-control"
						placeholder="密码"> <span
						class="glyphicon glyphicon-lock form-control-feedback"></span>
				</div>
				<div class="row">
					<div class="col-xs-8">
						<div class="checkbox icheck">
							<label><input type="checkbox"> 记住 下次自动登录</label>
						</div>
					</div>
					<!-- /.col -->
					<div class="col-xs-4">
						<button type="submit" class="btn btn-primary btn-block btn-flat">登录</button>
					</div>
					<!-- /.col -->
				</div>
			</form>

			<a href="#">忘记密码</a><br>


		</div>
		<!-- /.login-box-body -->
	</div>
	<!-- /.login-box -->

	<!-- jQuery 2.2.3 -->
	<!-- Bootstrap 3.3.6 -->
	<!-- iCheck -->
	<script
		src="${pageContext.request.contextPath}/plugins/jQuery/jquery-2.2.3.min.js"></script>
	<script
		src="${pageContext.request.contextPath}/plugins/bootstrap/js/bootstrap.min.js"></script>
	<script
		src="${pageContext.request.contextPath}/plugins/iCheck/icheck.min.js"></script>
	<script>
		$(function() {
			$('input').iCheck({
				checkboxClass : 'icheckbox_square-blue',
				radioClass : 'iradio_square-blue',
				increaseArea : '20%' // optional
			});
		});
	</script>
</body>

</html>

4.运行结果

登录界面:
在这里插入图片描述
登录成功:
在这里插入图片描述
用户列表界面:
在这里插入图片描述
新增界面:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值