当前位置: 首页 > news >正文

汕头网站开发服务最专业的做网站公司

汕头网站开发服务,最专业的做网站公司,有没有免费做企业网站的,自己网站上做淘宝搜索引擎哈喽,大家好,我是木头左! 1. save方法 Mybatis的save方法用于插入一条新的记录。当数据库中不存在相同的记录时,会执行插入操作;如果已经存在相同的记录,则会抛出异常。 int result sqlSession.insert(&…

哈喽,大家好,我是木头左!

1. save方法

Mybatis的save方法用于插入一条新的记录。当数据库中不存在相同的记录时,会执行插入操作;如果已经存在相同的记录,则会抛出异常。

int result = sqlSession.insert("userMapper.save", user);

2. saveOrUpdate方法

Mybatis的saveOrUpdate方法用于插入或更新一条记录。当数据库中不存在相同的记录时,会执行插入操作;如果已经存在相同的记录,则会执行更新操作。

int result = sqlSession.insert("userMapper.saveOrUpdate", user);

3. update方法

Mybatis的update方法用于更新一条记录。当数据库中存在相同的记录时,会执行更新操作;如果不存在相同的记录,则不会执行任何操作。

int result = sqlSession.update("userMapper.update", user);

4. 区别总结

  • save方法只适用于插入操作,如果数据库中已经存在相同的记录,会抛出异常。
  • saveOrUpdate方法既可以用于插入操作,也可以用于更新操作,当数据库中不存在相同的记录时,会执行插入操作;如果已经存在相同的记录,则会执行更新操作。
  • update方法只适用于更新操作,如果数据库中不存在相同的记录,则不会执行任何操作。

通过以上介绍,可以看到save、saveOrUpdate和update方法在Mybatis中的不同作用。在实际开发中,需要根据业务需求选择合适的方法来执行相应的操作。同时,也可以通过设置主键策略来避免重复数据的问题,从而更好地使用Mybatis的这些方法。

5. 主键策略设置

5.1 自增主键

当使用自增主键时,可以保证每条记录的主键都是唯一的,因此可以直接使用save或saveOrUpdate方法进行插入或更新操作。例如:

<insert id="insertUser" parameterType="com.example.User">INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
</insert>

5.2 非自增主键

当使用非自增主键时,需要确保数据库中没有重复的主键值,否则会抛出异常。此时,可以使用以下两种方法来处理:

  • 先查询再判断:在执行插入或更新操作之前,先查询数据库中是否存在相同的主键值。如果存在,则不执行操作;如果不存在,则执行插入或更新操作。这种方法的缺点是可能会影响性能,因为需要多次查询数据库。例如:
User user = getUserById(id);
if (user == null) {user = new User();user.setId(id);user.setName(name);user.setAge(age);sqlSession.insert("userMapper.insert", user);
} else {sqlSession.update("userMapper.update", user);
}
  • 使用主键策略:在Mybatis的配置文件中设置主键策略为“NOT_NULL”,这样当数据库中不存在相同的主键值时,会自动生成一个新的主键值并执行插入或更新操作;如果已经存在相同的主键值,则会抛出异常。这种方法的优点是简单方便,但缺点是无法自定义主键生成逻辑。例如:
<insert id="insertUser" parameterType="com.example.User">INSERT INTO user (id, name, age) VALUES (#{id,jdbcType=INTEGER}, #{name}, #{age}) ON CONFLICT DO NOTHING;
</insert>

通过以上介绍,可以看到Mybatis save、saveOrUpdate和update方法在不同主键策略下的使用方法。在实际开发中,需要根据业务需求选择合适的方法来执行相应的操作,并根据主键策略来避免重复数据的问题。同时,也可以通过设置事务管理来确保数据的一致性和完整性,从而提高系统的可靠性和稳定性。

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

http://www.yayakq.cn/news/990320/

相关文章:

  • 群晖做网站服务器 套件协会网站建设需求文档
  • 海兴县网站建设网站seo文章该怎么写
  • 自己做的网站百度收录专业制作网站制作
  • 大型网站运营步骤wordpress 整主题设置页
  • dedecms网站地图调用网站建设知识学习心得
  • 如何做免费的网站中天建设集团有限公司重庆分公司
  • 网站做轮播图的意义div网站模板
  • 企业网站seo诊断工具东莞24小时推广首页
  • 企业网站趋势手机网站制作软件下载
  • 织梦网站修改首页图片网页制作和网页制作
  • 最好的ppt模板网站上海建站推广公司
  • 大学网站建设管理办法产品运营方案
  • 品牌网站建设重點大蝌蚪html5编辑器手机版
  • 可视化网站建设软件做设计必须知道的几个网站
  • 网站设计时应考虑哪些因素冰雪蜜城店加盟费多少
  • 电脑编程用什么软件网站快速优化排名免费
  • 网站灰色 代码简单网站建设 有教程
  • 咨询网站模板媒体营销
  • app商城网站开发盐城市城乡建设门户网站
  • 成都找人做网站九江网站建设哪家公司好
  • 网站制作教程 pdf下载wordpress发文章设置文字大小
  • 网站设计存在的问题如何把自己做的网站放到内网
  • 网站后台发表文章锦江建设和交通局网站
  • 网站建设深圳市龙岩网红打卡地
  • 电商网站建设赏析html网页模板代码下载
  • 支付宝网站开发流程网站的建设分析及意义
  • 韩国网站建站运城做网站方式方法
  • 做海报用的图片网站wordpress怎么不调用文字内容
  • 怎么样可以做自己的网站怎么查网站有没有做404
  • 手机上的网站做自媒体的素材网站