MyBatis的Mapper 代理的增删改查操作(三)下

简介: MyBatis的Mapper 代理的增删改查操作(三)

六. 修改操作 update


修改的接口 :


public int updateUser(User user);


修改对应的xml sql语句:


<update id="updateUser" parameterType="user">
    update user set name=#{name},sex=#{sex},age=#{age},description=#{description}
    where id=#{id}
  </update>


六.一 全部修改属性的测试


  @Test
  public void updateTest(){
    SqlSession sqlSession=SqlSessionFactoryUtils.getSession();
    UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
    User user=new User();
    user.setId(1); //编号为1
    user.setName("修改老蝴蝶");
    user.setAge(25);
    user.setSex("男");
    user.setDescription("这是一个修改的老蝴蝶");
    try{
      userMapper.updateUser(user);  //调用修改的方法,进行修改。
      //需要手动提交事务
      sqlSession.commit();
    }catch(Exception e){
      sqlSession.rollback();
    }finally{
      sqlSession.close();
    }
  }


日志输出:


20190618211244769.png


数据库结果展示:


20190618211307443.png


六.二 部分属性修改


sql 语句保持不变。 如只修改属性描述时


@Test
  public void updateTest(){
    SqlSession sqlSession=SqlSessionFactoryUtils.getSession();
    UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
    User user=new User();
    user.setId(1); //编号为1
    user.setDescription("这是一个老蝴蝶,只修改描述");
    try{
      userMapper.updateUser(user);  //调用修改的方法,进行修改。
      //需要手动提交事务
      sqlSession.commit();
    }catch(Exception e){
      sqlSession.rollback();
    }finally{
      sqlSession.close();
    }
  }


20190618211437990.png


20190618211456752.png


六.三 查询后修改


目前的id =1 的记录为:


20190618211627310.png


测试方法为:


@Test
  public void updateTest(){
    SqlSession sqlSession=SqlSessionFactoryUtils.getSession();
    UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
    User user=userMapper.getById(1);
    user.setDescription("这是一个老蝴蝶,只修改描述");
    try{
      userMapper.updateUser(user);  //调用修改的方法,进行修改。
      //需要手动提交事务
      sqlSession.commit();
    }catch(Exception e){
      sqlSession.rollback();
    }finally{
      sqlSession.close();
    }
  }


20190618211712936.png


在修改的时候,也是修改的表中的全部字段。 需要动态sql 语句来优化。 以后会讲。


七. 删除对象根据id 编号 delete


接口:


public int delete(int id);


sql语句:


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


测试方法:


@Test
  public void deleteTest(){
    SqlSession sqlSession=SqlSessionFactoryUtils.getSession();
    UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
    try{
      userMapper.delete(1);  //调用删除的方法,进行删除的操作。
      //需要手动提交事务
      sqlSession.commit();
    }catch(Exception e){
      sqlSession.rollback();
    }finally{
      sqlSession.close();
    }
  }


运行后的日志为:


20190618212132583.png


20190618212148161.png


上面就是利用Mapper方式进行增删改查的基本操作用法 , 以后建议均用Mapper 的方式来处理持久化操作。


谢谢!!!

相关文章
|
12月前
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
8月前
|
SQL XML Java
MyBatis Mapper中使用limit参数的查询问题
总结而言,MyBatis中使用 `limit`参数的查询可以高度定制并且灵活,基于方法签名和XML映射文件的组合来达成多样化的查询需求。通过参数化查询和动态SQL,MyBatis可以有效地处理各种复杂情境下的数据库操作,并且将SQL语句的维护与业务代码的编写相分离,提升代码的可维护性和可阅读性。
688 13
|
XML Java 数据库连接
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
383 21
|
12月前
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
12月前
|
人工智能 Java 数据库连接
MyBatis Plus 使用 Service 接口进行增删改查
本文介绍了基于 MyBatis-Plus 的数据库操作流程,包括配置、实体类、Service 层及 Mapper 层的创建。通过在 `application.yml` 中配置 SQL 日志打印,确保调试便利。示例中新建了 `UserTableEntity` 实体类映射 `sys_user` 表,并构建了 `UserService` 和 `UserServiceImpl` 处理业务逻辑,同时定义了 `UserTableMapper` 进行数据交互。测试部分展示了查询、插入、删除和更新的操作方法及输出结果,帮助开发者快速上手 MyBatis-Plus 数据持久化框架。
889 0
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
2487 1
|
9月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1473 1
Spring boot 使用mybatis generator 自动生成代码插件
|
12月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
907 0
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
686 2
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
728 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。