项目结构
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>
实现效果
添加
查询:
修改:
删除
查看所有职工信息: