result = rowCountResult(sqlSession.insert(command.getName(), param)); break; } case UPDATE: {//update Object param = method.convertArgsToSqlCommandParam(args); result = rowCountResult(sqlSession.update(command.getName(), param)); break; } case DELETE: {//delete Object param = method.convert...
void testUpdate(){ SqlSession session = MybatisUtil.getSession(); User userUpdate = new User(); userUpdate.setId(2L); userUpdate.setName("用户2-afterUpdate"); userUpdate.setSalary(new BigDecimal(100)); session.update("com.mxz.mybatis.mapper.UserMapper.update", userUpdate); session.close(...
sqlSession.update(sqlStatement, param); }); } 注意sqlStatement是使用的SqlMethod.UPDATE,SysUser对象是举例,使用的是若依的用户数据。 二、批量新增或修改 在Mybatis-plus的ServiceImpl 类中有一个saveOrUpdateBatch 方法用于批量新增或修改,通过CollectionUtils.isEmpty(sqlSession.selectList(getSqlStatement(SqlMetho...
importcom.baomidou.mybatisplus.core.config.GlobalConfig;importcom.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;importcom.smcaiot.wcpa.safedata.app.InsertBatchSqlInjector;importcom.smcaiot.wcpa.safedata.app.MybatisPlusConfig;importcom.zaxxer.hikari.HikariConfig;importcom.zaxxer.hikari...
sqlSession.update(sqlStatement, param); }); } 注:Constants.ENTITY的值为“et”,Constants常量类在com.baomidou.mybatisplus.core.toolkit包下 接下来我们模仿实现下mybatis-plus根据某个指定字段批量更新的代码。 1、参考上面的代码,我们仿写一个根据指定的字段来批量更新数据库的代码,比如我这里只针对UserEntity...
原本使用save时是没有问题了,改成saveOrUpdate用了一下就报错了。 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error: can not execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的!
执行到insert的时候,底层会执行一个动态代理,最终通过动态代理,执行DefaultSqlSession类的insert方法,可以看到,insert方法里,最终调用的是一个update方法。 在mybatis中,无论是新增insert或者更新update,其底层都是统一调用DefaultSqlSession的update方法—— @Overridepublicintupdate(Stringstatement,Objectparameter){try{dirty...
原本使用save时是没有问题了,改成saveOrUpdate 用了一下就报错了。 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: error:cannot execute. because can not find column for id from entity! 就是这个mybatisPlus不能找到哪个是主键字段,因为这个saveOrUpdate默认是根据主键执行操作的!
SqlSessionFactoryBean:继承了FactoryBean和InitializingBean,符合spring loc容器bean的基本规范,可在获取该bean时调用getObject()方法到SqlSessionFactory。 XMLMapperBuilder:xml文件解析器,解析Mapper对应的xml文件信息,并将xml文件信息注册到Configuration中。 XMLStatementBuilder:xml节点解析器,用于构建select/insert/update/del...