首页 > 数据库 >Mybatis根据对象进行数据库记录修改

Mybatis根据对象进行数据库记录修改

时间:2023-04-02 11:15:00浏览次数:32  
标签:result admin 数据库 userMapper 修改 sqlSession sysUser Mybatis user

一、根据主键更新(传对象)

/*
    * 根据主键更新
    * */
    int updateById(SysUser sysUser);

 2、xml如下:

<update id="updateById">
        update sys_user
        set user_name = #{userName},
             user_password = #{userPassword},
            user_email = #{userEmail},
            user_info = #{userInfo},
            head_img = #{headImg ,jdbcType = BLOB},
            create_time =  #{createTime, jdbcType = TIMESTAMP}
        where id = #{id}
    </update>

  3. 测试函数:

@Test
    public void testUpdate(){
        SqlSession sqlSession = getSqlSession();
        try{
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            SysUser sysUser = userMapper.selectById(1L);
            Assert.assertEquals("admin_test1",sysUser.getUserName());
            sysUser.setUserName("admin");
            sysUser.setUserEmail("[email protected]");
            sysUser.setUserInfo("admin_test info");
            int result = userMapper.updateById(sysUser);
            System.out.println(result);
            Assert.assertNotEquals(1,result);
            sysUser = userMapper.selectById(1L);
            Assert.assertEquals("admin",sysUser.getUserName());
        }finally {
            sqlSession.commit();
            sqlSession.close();
        }

    }

  

标签:result,admin,数据库,userMapper,修改,sqlSession,sysUser,Mybatis,user
From: https://www.cnblogs.com/wwssgg/p/17280066.html

相关文章

  • MyBatis详细使用步骤
    MyBatis详细使用步骤1、创建数据库和表,在表里添加建库建表省略2、创建模块,导入依赖官网下载mybatis。jar导入依赖<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>x.x.x</version></dependency>3、编写Myba......
  • 使用mybatis-plus方法自动生成代码(1)
    首先,在项目的pom.xml文件中添加如下依赖:<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.3</version></dependency><dependency><groupId&......
  • 数据库字段名称和实体属性名称不同问题
    在使用Mapper代理开发时,出现数据库字段名称和实体属性名称不同问题,如数据库字段为brand_name,但是在定义实体类时,属性名称一般以驼峰形式命名,这样就会出现查询数据时,不能查出数据库该字段数据的情况。解决方案一:对不一样的字段名起别名,别名与实体类属性名相同。<select......
  • 每日总结--2023/3/31(解决了数据库连接不正常的问题,完成了javaweb暂时的配置)
    今天耗费一天的时间总算是找到了问题所在.问题出在mysqlServlet的版本上。在重装系统前,我所装的mysqlSevlet版本是5.0左右的,所以连接数据库的驱动也是5.0,包括url,而在重装系统后我的mysqlSevlet版本是8.0以上的,所以用原来的语句是不正确的,要修改为8.0版本的才能够运行,同......
  • 每日总结--2023/3/29(解决sevlet报错问题和数据库中文编码错误)
    今日完成:昨天的残留问题,查询了很多资料,也没能完全解决。首先是tomcat版本问题,重新下载并且部署了tomcat10版本的内容,解决了sevlet代码报错的问题。但是连接数据库仍然是不成功,报500错误,检查了mysql数据库,发现数据库正常(除中文变为?的bug)。连接数据库暂时仍不成功,但是成功解决......
  • C# 根据主键ID查询数据库的数据 反射和泛型实现
    //引入命名空间usingZhu.ADO.NET.DBProxy;usingZhu.ADO.NET.Models.models;Console.WriteLine("========================================================");Console.WriteLine("============开始测试====================================");Console.Wr......
  • win10家庭版如何修改用户密码永不过期
    最近博主在win10系统上更换使用了Administrator账号,默认的账号密码是有使用期限,到期弹窗需要我去修改管理员账号密码,本人很懒于是决定去修改成密码永不过期1.首先是管理员权限打开cmd命令行窗口2.命令行输入C:\Users\Administrator>wmicuseraccountwhere"Name='Administrato......
  • 数据库应用2023-04-01
     indexvsfulltextindexinmysqlInMySQL,anindexisadatastructurethatimprovesthespeedofdataretrievaloperationsonatable.Itworksbyallowingthedatabasetofindandretrievespecificrowsmorequickly,byreducingtheamountofdatath......
  • 《Mysql基础》【Mysql触发器 新建触发器、修改触发器、删除触发器、举例】 编程入门
     --mysql数据库程序设计笔记:--=========第八章:触发器========================触发器:触发执行特定事件。(关联表对象,当特定事件出现时,触发激活)目的:保护表数据,(保证表数据完整性和一致性。)1、新建触发器:格式:createtrigger数据库名.触发器名称触发时刻inserton表名f......
  • 读数据库图片判断其是否成功写入图片。
    importpymysqlimportcv2importnumpyasnpconn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='1234567890',db='studentmemo')cursor=conn.cursor()cursor.execute("SELECTpicFROMstuden......