SSM实战项目:人事管理系统(蓝色版)附源代码

Posted 小王java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM实战项目:人事管理系统(蓝色版)附源代码相关的知识,希望对你有一定的参考价值。

🍅程序员小王的博客:程序员小王的博客
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
🍅java自学的学习路线:java自学的学习路线

一、员工管理系统项目说明:

该项目主要是完成Spring+SpringMVC+mybatis的完整整合,功能实现比较单一,就是一个完成增删改查的小项目!

源代码在githee仓库:SSM实战项目:人事管理系统(蓝色版)

1、整个项目实现功能

管理员的登录,注册,员工的增删改查,批量删除,整个系统设计的目标人群是管理者,系统的主要功能是对员工进行各种信息的操作。主要是完成对数据库的增删改查的功能。

2、开发环境

分类名称语种
操作系统windows10简体中文
数据库平台mysql Server 8.0+
应用服务器apache-tomcat-8.5.71
java开发工具idea
框架mybatis+Spring+SpringMVC
项目名称《学生教务系统》
实现技术mybatis+Spring+SpringMVC+mysql+Servlet+jquery+bootStrap+js+Maven+tomcat等技术

3、数据库表设计

-- 创建员工表
create table t_emp(
id int primary key auto_increment,
name varchar(20) not null,
salary double not null,
age int not null
)

-- 添加员工数据
insert into t_emp values(null,'王恒杰',20000,21);
insert into t_emp values(null,'杨福君',9000,19);
-- 查询员工数据
select * from t_emp;

-- 创建管理员表
create table t_admin(
  id    int  primary key auto_increment,
 username varchar(20),
 password varchar(50)
)
-- 添加数据
insert into t_admin values(null,'王恒杰','123456');
-- 查询
select * from t_admin

4、Maven导入项目所依赖的jar包

  <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <!--springmvc核心依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.2.RELEASE</version>
        </dependency>
        <!--servlet-api-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>

        <!--jsp-->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>
        <!--jstl标签库-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!--mysql驱动jar-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>

        <!--mybatis相关依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <!--mybatis和spring的整合jar-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>

5、Spring+mybatis整合工厂(applicationContext.xml)

    <!--1.开启注解扫描-->
    <context:component-scan base-package="com.tjcu.whj"></context:component-scan>
  
    <!--2.加载 jdbc.properties小配置文件-->
    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
   
    <!--3.加载数据源-->
    <bean class="com.alibaba.druid.pool.DruidDataSource" name="dataSource">
        <property name="driverClassName" value="$jdbc.driver"></property>
        <property name="url" value="$jdbc.url"></property>
        <property name="username" value="$jdbc.username"></property>
        <property name="password" value="$jdbc.password"></property>
    </bean>

    <!--4.SqlSessionFactory-->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
        <!--1.依赖于数据源-->
        <property name="dataSource" ref="dataSource"></property>
        <!--2:mapper文件-->
        <property name="mapperLocations" value="classpath:com/tjcu/mapper/*DaoMapper.xml"></property>
        <!--3.别名-->
        <property name="typeAliasesPackage" value="com.tjcu.whj.entity"></property>
    </bean>
    
    <!--5.dao-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--sqlSessionFactory-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        <!--依赖于DAO接口类型  -->
        <property name="basePackage" value="com.tjcu.whj.dao"></property>
    </bean>
    
    <!--6.事务管理器-->
    <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    
    <!--7.开启注解式事务控制-->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

6、Spring+SpringMVC整合工厂(Spring-mvc.xml)

  <!--1.开启注解式扫描-->
    <context:component-scan base-package="com.tjcu.whj"></context:component-scan>
    <!--2.注册处理器映射器(解析URL路径)handlerMapping,处理器适配器:参数处理handlerAdapter-->
    <mvc:annotation-driven/>
    <!--3.注册视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/"></property>
        <!--后缀-->
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!--4.处理静态资源拦截问题-->
    <mvc:default-servlet-handler/>

二、管理员登录/注册模块功能开发

  • 功能模块:登录,注册,注销,密码加密

  • 注册示意图

  • 登录示意图

1、dao层(adminDao.java)

public interface AdminDao 
    /**
     * 登录
     * @param admin
     * @return
     */
    public Admin login(Admin admin);
    /**
     *  注册
     * @param admin
     */
    public void register(Admin admin);

2、Service层

(1)adminService接口层

public interface AdminService 
    /**
     * 登录
     * @param admin
     * @return
     */
    public Admin login(Admin admin);
    /**
     *  注册
     * @param admin
     */
    public void register(Admin admin);

(2)adminServiceImpl实现类

@Service("adminService")
@Transactional
public class AdminServiceImpl implements AdminService 

    @Autowired
  private AdminDao adminDao;

    @Override
    public Admin login(Admin admin) 

        return adminDao.login(admin);
    

    @Override
    public void register(Admin admin) 
         adminDao.register(admin);
    


3、功能测试(adminTest)

public class AdminTest 
    @Test
    public void login()
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        AdminService adminService = (AdminService) context.getBean("adminService");
        Admin admin = new Admin(null,null, "王恒杰", "123456",true);

        Admin login = adminService.login(admin);
        System.out.println(login);
    

    @Test
    public void register()
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        AdminService adminService = (AdminService) context.getBean("adminService");
        Admin admin = new Admin(null, "风犬少年","邓正武", "234567",true);
        adminService.register(admin);
    

4、Controller层

@Controller("adminController")
@RequestMapping("admin")
public class AdminController 
    /**
     * 将adminService到AdminController中
     */
    @Autowired
    private AdminService adminService;

    /**
     * 登录
     * @param admin
     * @return
     */
    @RequestMapping("login")
    public String login(Admin admin,HttpServletRequest request)
        String password = MD5Utils.md5(admin.getPassword());
        admin.setPassword(password);
        Admin admin1 = adminService.login(admin);
        System.out.println(admin1);
        if(admin1!=null)
            request.getSession().setAttribute("admin",admin1);
            return "redirect:/emp/show";
        
       return "redirect:/login.jsp";
    
    /**
     *  注册
     * @param admin
     */
    @RequestMapping("register")
    public String register(Admin admin)
        String password = MD5Utils.md5(以上是关于SSM实战项目:人事管理系统(蓝色版)附源代码的主要内容,如果未能解决你的问题,请参考以下文章

Java SSM项目 day01 企业权限管理系统(IDEA版)源代码

毕业设计-基于SSM框架大学教务管理平台项目开发实战教程(附源码)

毕业设计-基于SSM框架大学教务管理平台项目开发实战教程(附源码)

基于SSM框架智慧物业项目开发全程实录(全程实战附源码)

基于SSM框架开发OA企业在线办公系统项目教程-附源码-毕业设计

基于SSM框架开发OA企业在线办公系统项目教程-附源码-毕业设计