zoukankan      html  css  js  c++  java
  • 7、mybatis学习——mybatis基础增删改&&mybatis获取自增主键

    一、mybatis基础增删改

    sqlmapper中配置

        <insert id="addEmp" parameterType="employee">
            insert into employee(name,gender) values(#{name},#{gender})
        </insert>
        
        <update id="updateEmp">
            update employee set name=#{name},gender=#{gender}
            where id=#{id}
        </update>
        
        <delete id="deleteEmp">
            delete from employee where id = #{id}
        </delete>

    mapper接口中添加相应方法

     增删改测试

        @Test
        public void testAdd() throws IOException {
            String source = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(source);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            
            //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交
            SqlSession sqlSession = sqlSessionFactory.openSession();
            
            EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
            Employee employee = new Employee(null, "tom", "0");
            employeeMapper.addEmp(employee);
            sqlSession.commit();
            sqlSession.close();
        }
        
        @Test
        public void testUpdate() throws IOException {
            String source = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(source);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            
            //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交
            SqlSession sqlSession = sqlSessionFactory.openSession();
            
            EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
            Employee employee = employeeMapper.selectEmpById(1);
            employee.setName("xiaohon");
            employeeMapper.updateEmp(employee);
            sqlSession.commit();
            sqlSession.close();
        }
        
        @Test
        public void testDelete() throws IOException {
            String source = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(source);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            
            //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交
            SqlSession sqlSession = sqlSessionFactory.openSession();
            
            EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
            employeeMapper.deleteEmp(2);
            sqlSession.commit();
            sqlSession.close();
        }

    二、mybatis获取自增主键

        <!-- 获取自增主键的值:
                mysql支持自增主键,自增主键的获取
                mybatis也是通过配置useGeneratedKeys="true"使用自增主键获取主键值策略
                 keyProperty=""指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装到javabean的属性中-->
        <insert id="addEmp" parameterType="employee" 
            useGeneratedKeys="true" keyProperty="id">
            insert into employee(name,gender) values(#{name},#{gender})
        </insert>

    测试方法中查看添加对象后的属性

        @Test
        public void testAdd() throws IOException {
            String source = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(source);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            
            //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交
            SqlSession sqlSession = sqlSessionFactory.openSession();
            
            EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
            Employee employee = new Employee(null, "tom", "0");  //此时id为null
            employeeMapper.addEmp(employee);
            System.out.println(employee);    //此时有id
            sqlSession.commit();
            sqlSession.close();
        }

  • 相关阅读:
    业余草双因素认证(2FA)教程
    业余草网站热门关键字
    微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)
    业余草通告CSDN博客用户zhang__ao非法转载文章的公告
    CODE大全给你推荐几个免费的leapftp 注册码
    业余草最新热门博客推荐
    莫比乌斯反演
    P5091 【模板】欧拉定理
    LaTeX Test
    P2742 [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包
  • 原文地址:https://www.cnblogs.com/lyh233/p/12342245.html
Copyright © 2011-2022 走看看