• MyBatis的CRUD操作


    接上篇,下面演示对users表的其他常见操作。

    因为像加载mybatis的配置文件、构建sqlSession的工厂这些操作都是重复的,我们可以写一个工具类来方便我们操作

    package com.lhs.util;
    
    import java.io.InputStream;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    
    public class MybatisUtils {
    
        public static SqlSessionFactory getFactory() {
            String resource = "mybatis-config.xml";
            InputStream is = MybatisUtils.class.getClassLoader().getResourceAsStream(
                    resource);
    
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    
            return factory;
        }
    }

    一、添加一个用户

     在userMapper.xml中写入要映射的sql语句

    <!-- 添加user -->
    <insert id="addUser" parameterType="com.lhs.model.User">
    	insert into users(name,age) values(#{name},#{age})
    </insert>
    

      写测试方法:

        @Test
        public void testAdd() 
        {
            SqlSessionFactory factory = new MybatisUtils().getFactory();
            SqlSession sqlSession = factory.openSession();
            
            String statement = "com.lhs.model.userMapper.addUser";
            User u = new User();
            u.setName("hello");
            u.setAge(22);
            int insert = sqlSession.insert(statement, u);
            
            sqlSession.commit();//提交事务
            System.out.println(insert);
        }

    最后打印出1,说明影响了一行,插入成功!

    二、根据id删除一条记录

      在userMapper.xml中写入要映射的sql语句

    <!-- 删除user -->
    <delete id="deleteUser" parameterType="int">
        delete from users where id=#{id}
    </delete>

    写测试方法:

    @Test
        public void testDelete() 
        {
            SqlSessionFactory factory = new MybatisUtils().getFactory();
            SqlSession sqlSession = factory.openSession();
            
            String statement = "com.lhs.model.userMapper.deleteUser";
    
            int delete = sqlSession.insert(statement,3);
            
            sqlSession.commit();//提交事务
            System.out.println(delete);
        }

    最后打印出1,删除成功!

     三、更新用户

      在users表中添加要映射的sql语句

    <!-- 更新user -->
    <update id="updateUser" parameterType="com.lhs.model.User">
            update users set name=#{name},age=#{age} where id=#{id}
    </update>

    写测试方法:

    @Test
        public void testUpdate() 
        {
            SqlSessionFactory factory = new MybatisUtils().getFactory();
            SqlSession sqlSession = factory.openSession();
            
            String statement = "com.lhs.model.userMapper.updateUser";
            
            User u = new User();
            u.setId(2);
            u.setName("lhs");
            u.setAge(22);
    
            int update = sqlSession.update(statement, u);
            
            sqlSession.commit();//提交事务
            System.out.println(update);
        }

    最后打出1,更新成功!

  • 相关阅读:
    第四周作业
    第三周作业
    第二周作业
    20162325 2016-2017-2 《程序设计与数据结构》课程总结
    实验五 网络编程与安全 实验报告
    实验四 Android程序设计-5
    结对编程项目-四则运算 挑战出题
    20162325金立清 实验四 Android程序设计 实验报告
    20162325 结对编程项目-四则运算 整体总结
    实验三 敏捷开发与XP实践 实验报告
  • 原文地址:https://www.cnblogs.com/lzxl/p/3903704.html
Copyright © 2020-2023  润新知