文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MyBatis——员工管理系统

2023-09-27 19:50

关注

MyBatis——员工管理系统

实验要求
本实验要求根据表1在数据库中创建一个employee表,并利用MyBatis的核心配置相关知识完成一个员工管理系统。

实验内容

表1 员工表(employee)
员工编号(id)员工姓名(name)员工年龄(age)员工职位(position)
1张三20员工
2李四18员工
3王五35经理

该员工管理系统需要实现以下几个功能:

  1. 根据id查询员工信息。
  2. 新增员工信息。
  3. 根据id修改员工信息。
  4. 根据id删除员工信息。

实验分析
本实验主要考查对MyBatis的核心配置,主要是核心对象和核心配置文件和MyBatis映射文件。

代码实现

Resource

db.properties(数据库连接配置文件)

driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&\ characterEncoding=utf8&useUnicode=true&useSSL=falseusername=rootpassword=1

mybatis-config.xml(MyBatis的核心配置文件)

DOCTYPE configuration        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <properties resource="db.properties"> properties>    <environments default="development">        <environment id="development">            <transactionManager type="JDBC"/>                        <dataSource type="POOLED">                <property name="driver" value="${driver}"/>                <property name="url" value="${url}"/>                <property name="username" value="${username}"/>                <property name="password" value="${password}"/>            dataSource>        environment>    environments>    <mappers>        <mapper resource="mapper/EmployeeMapper.xml"/>    mappers>configuration>

EmployeeMapper.xml(映射文件)

DOCTYPE mapper        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cqust.entity.Employee"><resultMap type="com.cqust.entity.Employee" id="employeeMap">                <id property="id" column="id"/>        <result property="name" column="name"/>        <result property="age" column="age"/>        <result property="position" column="position"/>resultMap>                <select id="findEmployeeById" resultMap="employeeMap">                select * from employee where id = #{id}        select>                <insert id="addEmployee" parameterType="com.cqust.entity.Employee" >                insert into employee (id,name,age,position) values (#{id},#{name},#{age},#{position})        insert>                <update id="updateEmployee" parameterType="com.cqust.entity.Employee">                update employee set name=#{name},age=#{age},position=#{position} where id=#{id}        update>                <delete id="deleteEmployee" parameterType="int">                delete from employee where id=#{id}        delete>mapper>

entity层

Employee类

package com.cqust.entity;public class Employee {    private int id;                    //员工id    private String name;         //员工姓名    private int age;                 //员工年龄    private String position;    //员工职位    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getPosition() {        return position;    }    public void setPosition(String position) {        this.position = position;    }    @Override    public String toString() {        return "职员{" +                "员工编号=" + id +                ", 员工姓名='" + name + '\'' +                ", 员工年龄=" + age +                ", 员工职位='" + position + '\'' +                '}';    }}

utils层

MyBatisUtils类

package com.cqust.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.Reader;public class MyBatisUtils {    private static SqlSessionFactory sqlSessionFactory = null;    //初始化SQLSessionFactory对象    static {        try{            //使用MyBatis提供的Resource类加载MyBatis的配置文件            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");            //构建SQLSessionFactory            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);        } catch (Exception e){            e.printStackTrace();        }    }    //获取SqlSession对象的方法    public static SqlSession getSession(){        //若传入true表示关闭事务控制,自动提交;false表示开启事务控制        return sqlSessionFactory.openSession(true);    }}

测试层

Test1(测试类)

import com.cqust.entity.Employee;import com.cqust.utils.MyBatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;public class Test1 {    @Test    public void findEmployeeById(){        //通过工具类获取SQLSession对象        SqlSession sqlSession = MyBatisUtils.getSession();        //创建Employee对象接收SQL语句的查询结果        Employee employee0 = sqlSession.selectOne("findEmployeeById",2);        System.out.println(employee0);        //关闭事务        sqlSession.close();    }    @Test    public void addEmployee(){        SqlSession sqlSession = MyBatisUtils.getSession();        //实例化Employee        Employee employee = new Employee();        employee.setId(6);                  //设置id        employee.setName("李耳");   //设置姓名        employee.setAge(5000);        //设置年龄        employee.setPosition("太上老君");                   //设置职位        //这里的addEmployee一定要与Mapper文件中的id对应,多一个空格都不行,之前就是因为这个一直报错        sqlSession.insert("addEmployee",employee);        System.out.println("添加成功!");        sqlSession.close();    }    @Test    public void updateEmployee(){        SqlSession sqlSession = MyBatisUtils.getSession();        Employee employee = new Employee();        employee.setId(2);        employee.setName("沙僧");        employee.setAge(3000);        employee.setPosition("卷帘大将");        sqlSession.update("updateEmployee",employee);        System.out.println("更新成功!");        sqlSession.close();    }    @Test    public void deleteEmployee(){        SqlSession sqlSession = MyBatisUtils.getSession();        sqlSession.delete("deleteEmployee",2);        System.out.println("删除成功!");        sqlSession.close();    }}

实验小结
本实验主要对MyBatis的核心配置进行了大体的应用。例如:MyBatis中的3个重要核心对象SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession;核心配置文件中的元素及其使用;映射文件中的几个主要是元素。通过本实验,可以初步了解MyBatis中的3个重要核心对象的作用,熟悉核心配置文件中常用元素的使用,并掌握映射文件中常用元素的使用。

谢谢浏览!

来源地址:https://blog.csdn.net/m0_72151428/article/details/127399054

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯