zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    

      

     

  • 相关阅读:
    apache和tomcat有什么不同,为什么要整合apache 和tomcat
    使用jstack分析cpu消耗过高的问题
    eclipse建立springMVC 简单项目
    JAVA中的反射机制
    MySQL索引的Index method中btree和hash的优缺点
    JAVA中的线程安全与非线程安全
    Java中普通代码块,构造代码块,静态代码块执行顺序
    jvm的内部体系结构浅析
    CPU思考
    linux内核调度算法(2)--CPU时间片如何分配 转!
  • 原文地址:https://www.cnblogs.com/xiaomaomao/p/13651671.html
Copyright © 2011-2022 走看看