Mybatis04__CURD

  1、实体类Employee.java

1
2
3
4
5
6
7
8
// 省略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

1
2
3
4
5
6
7
8
9
10
11
12
13
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

1
2
3
4
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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、测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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 @   变体精灵  阅读(103)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示