zoukankan      html  css  js  c++  java
  • Mybatis学习笔记3

    1、接口定义

    package com.mybatis.dao;
    
    import com.mybatis.bean.Employee;
    
    public interface EmployeeMapper {
        public Employee getEmpById(Integer id);
    
        public void addEmp(Employee employee);
    
        public void updateEmp(Employee employee);
    
        public void deleteEmpById(Integer id);
    }
    

     2、mapper编写

    <?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="com.mybatis.dao.EmployeeMapper">
        <!--public Employee getEmpById(Integer id);-->
        <select id="getEmpById" resultType="com.mybatis.bean.Employee">
    		select * from tbl_employee where id = #{id}
    	</select>
    
        <!--public void addEmp(Employee employee);-->
        <!-- parameterType:参数类型,可以省略-->
        <insert id="addEmp" parameterType="com.mybatis.bean.Employee">
            insert into tbl_employee(last_name, gender, email)
            values (#{lastName},#{gender},#{email})
        </insert>
    
        <!--public void updateEmp(Employee employee);-->
        <update id="updateEmp">
            update tbl_employee set last_name=#{lastName},email=#{email},gender=#{gender} where id=#{id}
        </update>
    
        <!--public void deleteEmpById(Integer id);-->
        <delete id="deleteEmpById">
            delete from tbl_employee where id=#{id}
        </delete>
    </mapper>
    

     3、测试代码

    package com.mybatis.demo;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import com.mybatis.bean.Employee;
    import com.mybatis.dao.EmployeeMapper;
    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 org.junit.Test;
    
    public class MyTest {
        public SqlSessionFactory getSqlSessionFactory() throws IOException {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            return new SqlSessionFactoryBuilder().build(inputStream);
        }
    
        /**
         * 测试增删改
         * 1、mybatis允许增删改直接定义以下类型返回值
         * Integer、Long、Boolean、void
         * 2、需要手动提交数据
         * sqlSessionFactory.openSession();===》手动提交
         * sqlSessionFactory.openSession(true);===》自动提交
         */
    
        @Test
        public void testSelect() throws IOException {
            SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
            SqlSession openSession = sqlSessionFactory.openSession();
            try {
                EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
                Employee employee = mapper.getEmpById(1);
                System.out.println(employee);
            } finally {
                openSession.close();
            }
        }
    
        @Test
        public void testInsert() throws IOException {
            SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
            //此处获取到的SqlSession不会自动提交数据
            SqlSession openSession = sqlSessionFactory.openSession();
            try {
                EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
                mapper.addEmp(new Employee("jetty", "jetty@126.com", 1));
                //手动提交数据
                openSession.commit();
            } finally {
                openSession.close();
            }
    
        }
    
        @Test
        public void testUpdate() throws IOException {
            SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
            SqlSession openSession = sqlSessionFactory.openSession();
            try {
                EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
                mapper.updateEmp(new Employee(2, "jerry", "jerry@qq.com", 1));
                openSession.commit();
            } finally {
                openSession.close();
            }
    
        }
    
        @Test
        public void testDelete() throws IOException {
            SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
            //自动提交
            SqlSession openSession = sqlSessionFactory.openSession(true);
            try {
                EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
                mapper.deleteEmpById(2);
            } finally {
                openSession.close();
            }
    
        }
    }
    
  • 相关阅读:
    selenium 清空文本几种方法
    python之Chrome 启动参数
    python, selenium 之屏蔽提示框
    myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面
    用ant编译打包时 警告:编码 GBK 的不可映射字符
    redhat5.1上安装oracle 10.2g客户端及配置使用
    tomcat 1)启动时不识别执行启动命令 2)启动报错 3)关闭不了,用myEclipse启动时显示jvm_bind,端口占用
    virtualBox redhat 共享文件夹 安装增强功能
    ant 内存空间不足
    Linux (ubuntu和redhat) 常用命令及细节
  • 原文地址:https://www.cnblogs.com/xidian2014/p/10349323.html
Copyright © 2011-2022 走看看