Mybatis04__CURD

  1、实体类Employee.java

// 省略set/get/toString方法
public class Employee {
    private Integer EmployeeId;
    private String EmployeeName;
    private String EmployeePassword;
    private String EmployeeAge;
    private Integer DepartmentId;
}

  2、Mapper接口EmployeeMapper.java

public interface EmployeeMapper {

    public abstract Employee queryEmployeeById(String id);

    public abstract List<Employee> queryEmployees();

    public abstract void insertEmployeeById(Employee employee);

    public abstract void updateEmployee(Employee employee);

    public abstract void deleteEmployeeById(Employee employee);

}  

  3、jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=root 

  4、mybatis-conf.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="jdbc.properties"></properties>
    <settings>
        <!--开启驼峰命名规则-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <typeAliases>
        <!--com.mybatis.entity包下的所有实体类都开启别名-->
        <package name="com.mybatis.entity"></package>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <!-- 配置事务管理,采用JDBC管理事务-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!-- pojo的映射文件UserMapper引入到配入到配置文件中 -->
    <mappers>
        <!-- resource要写成路径 -->
        <mapper resource="UserMapper.xml"/>
        // 引入EmployeeMapper.xml,通过全局配置文件找到XXXMapper.xml配置文件
        <mapper resource="EmployeeMapper.xml"/>
    </mappers>
</configuration>

  5、EmployeeMapper.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">
<!--绑定EmployeeMapper接口-->
<mapper namespace="com.mybatis.dao.EmployeeMapper">
    <!--绑定EmployeeMapper接口中insertEmployeeById方法-->
    <insert id="insertEmployeeById" parameterType="com.mybatis.entity.Employee">
        INSERT INTO employee VALUES(null,#{EmployeeName},#{EmployeePassword},#{EmployeeAge},#{DepartmentId})
    </insert>

    <delete id="deleteEmployeeById" parameterType="com.mybatis.entity.Employee">
        DELETE FROM employee WHERE EMPLOYEE_ID=#{EmployeeId}
    </delete>

    <update id="updateEmployee" parameterType="com.mybatis.entity.Employee">
        UPDATE employee SET EMPLOYEE_NAME=#{EmployeeName},EMPLOYEE_PASSWORD=#{EmployeePassword},EMPLOYEE_AGE=#{EmployeeAge},
        DEPARTMENT_ID=#{DepartmentId} WHERE EMPLOYEE_ID = #{EmployeeId}
    </update>

    <select id="queryEmployeeById" parameterType="java.lang.String" resultType="com.mybatis.entity.Employee">
        SELECT EMPLOYEE_ID,EMPLOYEE_NAME,EMPLOYEE_PASSWORD,EMPLOYEE_AGE,DEPARTMENT_ID FROM employee 
		WHERE EMPLOYEE_ID=#{employeeId}
    </select>

    <select id="queryEmployees" resultType="com.mybatis.entity.Employee">
        SELECT EMPLOYEE_ID,EMPLOYEE_NAME,EMPLOYEE_PASSWORD,EMPLOYEE_AGE,DEPARTMENT_ID FROM employee;
    </select>
</mapper>

  6、测试类

public class TestMybatis {

    // 根据指定ID查询Employee
    @Test
    public void test01() throws IOException {
        SqlSession session = TestMybatis.openSession();
        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
        Employee employee = mapper.queryEmployeeById("3");
        System.out.println(employee);
    }

    // 查询所有的Employee
    @Test
    public void test02() throws IOException {
        SqlSession session = TestMybatis.openSession();
        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
        List<Employee> employees = mapper.queryEmployees();
        System.out.println(employees);
    }

    // 添加Employee
    @Test
    public void test03() throws IOException {
        SqlSession session = TestMybatis.openSession();
        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
        Employee e = new Employee();
        e.setEmployeeId(null);
        e.setEmployeeName("汪十");
        e.setEmployeePassword("321");
        e.setEmployeeAge("30");
        e.setDepartmentId(30);
        // 插入新的Employee
        mapper.insertEmployeeById(e);
        session.commit();
    }

    // 根据ID删除指定的Employee
    @Test
    public void test04() throws IOException {
        SqlSession session = TestMybatis.openSession();
        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
        Employee e = new Employee();
        e.setEmployeeId(9);
        // 插入新的Employee
        mapper.deleteEmployeeById(e);
        session.commit();
    }

    // 根据ID对Employee修改
    @Test
    public void test05() throws IOException {
        SqlSession session = TestMybatis.openSession();
        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
        Employee e = new Employee();
        e.setEmployeeId(7);
        e.setEmployeeName("陈九");
        e.setEmployeePassword("123456789");
        e.setEmployeeAge("41");
        e.setDepartmentId(1);
        mapper.updateEmployee(e);
        session.commit();
    }

    // 获得SqlSession对象
    public static SqlSession openSession() {
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        return session;
    }
}

  

 

 

posted @ 2020-09-11 14:45  变体精灵  阅读(101)  评论(0编辑  收藏  举报