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 的方式来处理持久化操作。


谢谢!!!

相关文章
|
2月前
|
SQL Java 数据库连接
mybatis使用四:dao接口参数与mapper 接口中SQL的对应和对应方式的总结,MyBatis的parameterType传入参数类型
这篇文章是关于MyBatis中DAO接口参数与Mapper接口中SQL的对应关系,以及如何使用parameterType传入参数类型的详细总结。
53 10
|
3月前
|
SQL XML Java
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
4月前
|
SQL Java 数据库连接
Mybatis系列之 Error parsing SQL Mapper Configuration. Could not find resource com/zyz/mybatis/mapper/
文章讲述了在使用Mybatis时遇到的资源文件找不到的问题,并提供了通过修改Maven配置来解决资源文件编译到target目录下的方法。
Mybatis系列之 Error parsing SQL Mapper Configuration. Could not find resource com/zyz/mybatis/mapper/
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
67 1
|
4月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
394 0
|
4月前
|
XML Java 数据库连接
Mybatis 模块拆份带来的 Mapper 扫描问题
Mybatis 模块拆份带来的 Mapper 扫描问题
49 0
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
145 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
75 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
508 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
26 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
下一篇
DataWorks