• Mybatis映射文件概述与增删改查操作


    目录

     MyBatis的映射文件概述

     Mybatis增删改查操作

    Mybatis的增加/插入操作

    插入操作注意的问题

    MyBatis的修改数据操作

    Mybatis 删除数据操作

     删除操作注意的问题


     MyBatis的映射文件概述

     Mybatis增删改查操作

    Mybatis的增加/插入操作

    mybatisTest下

    1. @Test
    2. public void test2() throws IOException {
    3. //模拟user对象
    4. User user=new User();
    5. user.setUsername("ZengHui");
    6. user.setPassword("1234");
    7. //获得核心配置文件
    8. InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
    9. //获得session工厂对象
    10. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
    11. //获得session会话对象
    12. SqlSession sqlSession = sqlSessionFactory.openSession();
    13. //执行操作 参数:namespace+id
    14. int result= sqlSession.insert("userMapper.insertUser",user);
    15. //mybatis默认不自动提交事务,提交后才能持久化到数据库中
    16. sqlSession.commit();
    17. System.out.println(result);
    18. //释放资源
    19. sqlSession.close();
    20. }

     UserMapper.xml下

    1. <insert id="insertUser" parameterType="com_mybatis.pojo.User">
    2. insert into user values (#{id},#{username},#{password})
    3. insert>

     运行结果

    插入操作注意的问题

    • 插入语句使用insert标签
    • 在映射文件中时而用parameterType属性指定要插入的数据类型
    • Sq语句中使用#{实体属性名}方式引用实体中的属性值
    • 插入操作使用的ApI是sqlSession.insert(“命名空间.id,实体对象”);
    • 插入操作设计数据库变化,所以要使用sqlSession对象显示的提交事务,即sqlSession,commit()

    MyBatis的修改数据操作

    在UserMapper.xml文件下

    1. <update id="update" parameterType="com_mybatis.pojo.User">
    2. update user set username=#{username},password=#{password} where id=#{id}
    3. update>

    MybatisTest类下

    1. @Test
    2. //修改操作
    3. public void test3() throws IOException {
    4. //模拟user对象
    5. User user=new User();
    6. user.setId(3);
    7. user.setUsername("ZhaoLiu");
    8. user.setPassword("12345");
    9. //获得核心配置文件
    10. InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
    11. //获得session工厂对象
    12. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
    13. //获得session会话对象
    14. SqlSession sqlSession = sqlSessionFactory.openSession();
    15. //执行操作 参数:namespace+id
    16. sqlSession.update("userMapper.update", user);
    17. //mybatis默认不自动提交事务,提交后才能持久化到数据库中
    18. sqlSession.commit();
    19. //释放资源
    20. sqlSession.close();
    21. }

    运行之后,数据库中变化

    Mybatis 删除数据操作

    userMapper.xml

    1. <delete id="delete" parameterType="java.lang.Integer">
    2. delete from user where id=#{id}
    3. delete>

      mybatisTest类下

    1. @Test
    2. //删除
    3. public void test4() throws IOException {
    4. //获得核心配置文件
    5. InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
    6. //获得session工厂对象
    7. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
    8. //获得session会话对象
    9. SqlSession sqlSession = sqlSessionFactory.openSession();
    10. //执行操作 参数:namespace+id
    11. sqlSession.delete("userMapper.delete", 3);
    12. //mybatis默认不自动提交事务,提交后才能持久化到数据库中
    13. sqlSession.commit();
    14. //释放资源
    15. sqlSession.close();
    16. }

    运行结果

     删除操作注意的问题

    删除语句使用delete标签

    Sql语句中使你#{任意字符串}方式引用传递单个参数

    删除操作使用的API是sqlSession.delete("命名空间.id",Object)

  • 相关阅读:
    python序列化和结构化数据详解
    Eclipse Indigo运行Struts2的几个问题
    Json递归删除和修改节点
    什么是生成器 — 一篇文章让你看懂
    tf.pad解析(参考官方文档)
    【建议收藏】对线面试官:多线程硬核50问
    MySQL Workbench 8.0 CE 汉化包下载
    java计算机毕业设计工作流流程编辑OA系统源码+mysql数据库+系统+lw文档+部署
    轨迹规划 | 图解路径跟踪PID算法(附ROS C++/Python/Matlab仿真)
    pip install xxx 出现 AttributeError: ‘tuple’ object has no attribute ‘read’ 错误
  • 原文地址:https://blog.csdn.net/weixin_60719453/article/details/126383762