Mysql+java+Mybatis+MVC模式实现对数据表的增删改查

项目结构

在这里插入图片描述
在这里插入图片描述

menu

package Controler;
import Service.Service_Fun;
import Service.impl.Service_impl;
import Utils.InputUtil;
import java.util.Scanner;
public class Menu {
    private static Scanner read;
    public static void main(String[] args) {
        InputUtil rd = new InputUtil();
        Service_Fun fu_tn = new Service_impl() ;
        //引入实现类,通过fu_tn调用相应的方法实现功能
        Scanner read = new Scanner(System.in);
        switch (rd.Num_input()){
            case 1://根据id查询员工信息
                System.out.println("请输入职工号!");
                System.out.println("查询结果是:");
                fu_tn.FindById(read.nextInt());
                    break;
            case 2:
                //添加员工信息
                int j = fu_tn.AddEmployee(rd.input_infer());
                if (j == 1) {
                    System.out.println("写入成功!");
                } else {
                    System.out.println("写入失败!");
                }
                break;
            case 3:
                //根据id修改员工信息
                int i = fu_tn.UpdateEmployee(rd.input_infer());
                if (i == 1) {
                    System.out.println("修改成功!");
                } else {
                    System.out.println("修改失败!");
                }
                break;
            case 4:
                //根据id删除员工信息
                System.out.println("请输入要删除的职工职工号:");
                if(fu_tn.DelEmployeeById(read.nextInt())==1){
                    System.out.println("成功删除!!");
                }
                break;
            case 5:
                System.out.println("查询的所有员工信息如下:");
                fu_tn.FindAllEmployee();
                break;
        }
    }
}



Service接口层

package Service;

import pojo.EmployeeUser;

import java.util.List;

public interface Service_Fun {
    EmployeeUser FindById(int id);
    int AddEmployee(EmployeeUser employeeUser);
    int  UpdateEmployee(EmployeeUser employeeUser);
    int DelEmployeeById(int id);

    List <EmployeeUser> FindAllEmployee();
}

Service实现层

package Service.impl;
import Dao.MapperEmployeeDao;
import Dao.impl.Funtion_impl;
import Service.Service_Fun;
import pojo.EmployeeUser;
import java.util.List;
public class Service_impl implements Service_Fun {
   MapperEmployeeDao fun =new Funtion_impl();
    @Override
    public EmployeeUser FindById(int id) {
        return fun.FindById(id);
    }
    @Override
    public int AddEmployee(EmployeeUser employeeUser) {
        return fun.AddEmployee(employeeUser);
    }
    @Override
    public int UpdateEmployee(EmployeeUser employeeUser) {
        return fun.UpdateEmployee(employeeUser);
    }
    @Override
    public int DelEmployeeById(int id) {
        return fun.DelEmployeeById(id);
    }
    @Override
    public List<EmployeeUser> FindAllEmployee() {
        return fun.FindAllEmployee();
    }
}

Dao层接口层

package Dao;

import pojo.EmployeeUser;

import java.util.List;

public interface MapperEmployeeDao {
     EmployeeUser FindById(int id);
     int  AddEmployee(EmployeeUser employeeUser);
     int UpdateEmployee(EmployeeUser employeeUser);
     int DelEmployeeById(int id);
     List<EmployeeUser> FindAllEmployee();
}

Dao层实现层

package Dao.impl;
import Dao.MapperEmployeeDao;
import Utils.Mybatis;
import org.apache.ibatis.session.SqlSession;
import pojo.EmployeeUser;
import java.util.ArrayList;
import java.util.List;
public class Funtion_impl implements  MapperEmployeeDao{
    public EmployeeUser FindById(int id){
        //根据Id查询员工信息
        SqlSession sqlSession = Mybatis.openSession();
        MapperEmployeeDao userMapper = sqlSession.getMapper(MapperEmployeeDao.class);
        EmployeeUser user = userMapper.FindById(id);
        System.out.println(user.getName()+user.getSex()+user.getTelephone()+user.getPost());
        sqlSession.close();
        return user;
    }
    @Override
    public int AddEmployee(EmployeeUser employeeUser) {
        //添加员工信息
        SqlSession sqlSession = Mybatis.openSession();
        MapperEmployeeDao userMapper = sqlSession.getMapper(MapperEmployeeDao.class);
        int i= userMapper.AddEmployee(employeeUser);
        sqlSession.commit();
        sqlSession.close();
        return i;
    }
    @Override
    public int UpdateEmployee(EmployeeUser employeeUser) {
        //修改职工信息
        SqlSession sqlSession = Mybatis.openSession();
        MapperEmployeeDao userMapper = sqlSession.getMapper(MapperEmployeeDao.class);
        int i = userMapper.UpdateEmployee(employeeUser);
        sqlSession.commit();
        sqlSession.close();
       return i;
    }
    @Override
    public int DelEmployeeById(int id) {
        //删除职工信息
        SqlSession sqlSession = Mybatis.openSession();
        MapperEmployeeDao userMapper = sqlSession.getMapper(MapperEmployeeDao.class);
        int i=userMapper.DelEmployeeById(id);
        sqlSession.commit();
        sqlSession.close();
        return i;
    }

    @Override
    public List<EmployeeUser> FindAllEmployee() {
        SqlSession sqlSession = Mybatis.openSession();
        MapperEmployeeDao userMapper = sqlSession.getMapper(MapperEmployeeDao.class);
        List<EmployeeUser> employee_list = userMapper.FindAllEmployee();
        for (EmployeeUser user:employee_list
             ) {
            System.out.println(user.getId()+"  "
                    +user.getName()+"  "
                    +user.getSex()+"  "
                    +user.getTelephone()+"  "
                    +user.getPost());
        }
        return employee_list;
    }
}

工具类

package Utils;
import pojo.EmployeeUser;
import java.util.Scanner;
public class InputUtil {
    Scanner read = new Scanner(System.in);
    int num=0;
    public EmployeeUser input_infer(){//返回值的类型是对象
        EmployeeUser employeeUser = new EmployeeUser();
        System.out.println("请输入职工号:");
        employeeUser.setId(read.nextInt());
        System.out.println("请输入职工名:");
        employeeUser.setName(read.next());
        System.out.println("请输入职工性别:");
        employeeUser.setSex(read.next());
        System.out.println("请输入职工电话");
        employeeUser.setTelephone(read.nextInt());
        System.out.println("请输入职工职位:");
        employeeUser.setPost(read.next());
        return employeeUser;
    }
    public int Num_input(){
        //返回型的类型是int数字类型
        System.out.println("1,根据id查询员工信息");
        System.out.println("2,添加员工信息");
        System.out.println("3,根据id修改员工信息");
        System.out.println("4,根据id删除员工信息");
        System.out.println("5,查询所有员工的信息");
        System.out.println("请根据选项输入数字:");
        //建立Scanner对象,通过System.in来读取键盘输入数据
        read = new Scanner(System.in);
        num = read.nextInt();
        return num;
    }

}

会话工厂工具类

package Utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class Mybatis {
    static SqlSessionFactory factory;
    static {
        InputStream inputStream = null;
        String resources="mybatis-config.xml";
        try{ inputStream = Resources.getResourceAsStream(resources);
            factory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace(); } }
    public static SqlSession openSession(){
        return factory.openSession();
    }}

Mapper.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="Dao.MapperEmployeeDao">
    <insert id="AddEmployee" parameterType="pojo.EmployeeUser">
        insert into employees(id,name,sex,telephone,post) value (#{id},#{name},#{sex},#{telephone},#{post})
    </insert>
    <update id="UpdateEmployee" parameterType="pojo.EmployeeUser"
    >
        update employees set name=#{name},sex=#{sex},telephone=#{telephone},post=#{post}
            where id=#{id}
    </update>
    <delete id="DelEmployeeById" parameterType="int">
        delete from employees  where id = #{id}
    </delete>
    <select id="FindById" parameterType="int"
            resultType="pojo.EmployeeUser" >
        select * from employees where id = #{id}
    </select>
    <select id="FindAllEmployee" resultType="pojo.EmployeeUser">
        select * from employees;
    </select>
</mapper>

db.properties

mysql.driver=com.mysql.cj.jdbc.Driver(MySQL8,加上cj)
mysql.url=jdbc:mysql://localhost:3306/数据库名称?serverTimezone=UTC&\
    characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=账号
mysql.password=密码

mybatis—config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--    环境配置-->
<!--    加载类路径下的属性文件-->
    <properties resource="db.properties" />
    <environments default="development">
        <environment id="development">

            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/employee.xml"/> <!--绑定映射⽂件-->
    </mappers>

</configuration>

实现效果

添加
在这里插入图片描述
查询:
在这里插入图片描述
修改:
在这里插入图片描述
删除
在这里插入图片描述
查看所有职工信息:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值