05_更新数据

【user.xml】

<!--
         更新用户
         分析:
         需要传入用户的id
         需要传入用户的更新信息
         parameterType指定user对象,包括id和更新信息,注意:id必须存在
         #{id}:从输入对象中获取id属性值
     -->
     <update id="updateUserById" parameterType="com.Higgin.Mybatis.po.User">
         update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
     </update>

【MyBatisTest.java】

@Test
    public void testUpdateUser() throws IOException{
        //mybatis映射文件
        String resource="sqlMapConfig.xml";
        //得到mybatis映射文件
        InputStream inputStream=Resources.getResourceAsStream(resource);
        //创建会话,传递mybatis配置信息
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
        //通过工厂得到session
        SqlSession sqlSession=sqlSessionFactory.openSession();

        User user=new User();
        user.setId(4);
        user.setUsername("王大明888");
        user.setSex("1");
        user.setAddress("北京");
        user.setBirthday(new Date());

        sqlSession.update("test.updateUserById",user);

        //提交事务
        sqlSession.commit(); //这句必须要有,不然插不进去数据
        //关闭会话
        sqlSession.close();
    }

【运行结果】

时间: 2024-10-11 11:38:45

05_更新数据的相关文章

thinkphp 的save()不能更新数据解决办法

用save()方法始终更新不了数据,又不显示明确的错误信息,找了好久才在手册里看到一句至关重要的话: 为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录. 因此在使用create自动更新数据时,要在表单添加一个隐藏域,其值为数据表的id值! thinkphp 的save()不能更新数据解决办法,布布扣,bubuko.com

Django开发运维后台(二):建立模型与更新数据

上一篇文章我已经新建了一个SaAdmin的APP,现在开始在这APP下面来code 1.修改setting.py的数据库连接: DATABASES = {     'default': {         'ENGINE':'django.db.backends.mysql',         'NAME': 'QjshAdmin',         'USER': 'root',         'PASSWORD': 'lihuipeng',         'HOST': 'localho

经验总结16--EF局部更新数据

EF提供更新某个实体的某些数据,而其他数据保留的功能. 1.重新实例一个实体,并给予ID和需要修改的字段.注:此处的实体不能从数据库中查询,只能新的实例. Order order = new Order() { ID = id }; order.Name= "test222"; 2.包含该实体,更新策略为Unchanged,设置需要更新的字段. DbEntityEntry<Order> entry = db.Entry<Order>(order); entry.

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

更新数据

T-SQL支持标准的UPDATE 语句,用于更新表中的数据.T-SQL 也支持UPDATE 语句的一种非标准用法,在UPDATE 语句中使用联接和变量 1.UPDATE 语句 UPDATE 语句是标准的SQL 语句,用于对表中数据 行的一个子集进行更新.为了标识作为更新目标的子集行,须要在WHERE 子句中指定一个谓词.在SET 子句中指定要更改的列和这些列的新值(或表达式),各列之间用逗号分隔. UPDATE dbo.OrderDetails SET discount=discount+0.0

网络请求怎么样和UI线程交互? Activity2怎么通知Activity1 更新数据

1.网络请求怎么样和UI线程交互? 目前我的做法是,建立线程池管理网络请求线程,通过添加task来新增网络请求.所有的网络操作通过统一的request来实现,网络返回结果通过回调onError和onSuccess来实现对结果的处理(涉及到ui部分用runOnUiThread or handler通知ui更新,工程上两种都有,主要看你喜欢,不过用handler请注意内存泄露问题...) 这种做法好处就是,线程池可以避免不断开启线程导致虚耗资源,同时可以做到管理线程,自定义任务执行的顺序.统一req

Android ListView动态更新数据

ListView就是可以显示一行行Item的控件,有时候数据非常多,通常需要分页显示,但为了减少用户的输入,我们可以动态更新ListView,把下一页要显示的数据的添加到当前ListView中. 先看看效果: 需要注意的是在什么时候去更新数据 ,listVIew的setOnScrollListener监听是否滚到了最后一条记录, 取到的数据加到list中,最后记得调用adapter的notifyDataSetChanged,通知listview改变. 不废话,上代码. 主文件: mport ja

SQL 更新数据时触发器造成的性能问题

有时候,我们更新数据时,发现更新的时间很长,一般我们会想到查询的性能很慢,是索引引起的.但有时候不一定,触发器也会造成性能问题. 我们需要在更新数据时,先禁用触发器,然后再恢复 1 --禁用触发器 2 DISABLE TRIGGER 触发器名称 ON 表 3 --启用触发器 4 ENABLE TRIGGER 触发器名称 ON 表

sqlite学习笔记10:C语言中使用sqlite之查询和更新数据

前面说到的 sqlite_exec() 中的第三个参数, SQLite 将为 sql 参数内执行的每个 SELECT 语句中处理的每个记录调用这个回调函数. 本节添加了两个函数,selectFromTable和updateTable. 实例程序如下: #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db&quo