分享

MyBatis 增删改查基础

 太极混元天尊 2018-06-19

0x00:前言

以之前的文章 MyBatis工作环境的搭建示例为基础,记以下 MyBatis 对数据库的 CURD 操作。

0x01:模糊查询

首先,需要在 sql 配置文件 UserMapper.xml 中配置相应的 sql 映射,代码如下:

MyBatis 增删改查基础

其中,id 代表其 sql 被解析时的唯一标识。parameterType 代表 sql 中接收参数的类型。resultType 代表其结果类型,代码中指的是 User 的 JavaBean。

PS:对于 sql 中参数设置 ${} 代表是将字符串直接拼接到 sql 语句中,$ 符有 sql 注入的危险,如果不是必须,建议使用 #代替。因为需要在接收的值两边加上 % 做模糊查询,所以需要用 $ 符,这时的 #是不行的。# 会对接收的值做预编译处理,相当于传统 JDBC 中的? 占位符。

在测试类中添加如下代码进行测试:

MyBatis 增删改查基础

代码中通过 sqlSession 的 selectList 方法来查询多条记录,第一个参数是 sql 映射文件中配置的 id 标识,第二个是查找的关键字,其运行结果如下:

MyBatis 增删改查基础

0x02:新增数据

首先,需要在 sql 配置文件 UserMapper.xml 中配置相应的 sql 映射,代码如下:

MyBatis 增删改查基础

其中 id 代表其 sql 被解析时的唯一标识,parameterType 代表 sql 中接收参数的类型。因为是插入操作,所以没有 resultType 返回。

在测试类中添加如下代码进行测试:

MyBatis 增删改查基础

代码中通过 sqlSession 的 insert 方法来插入数据,第一个参数是 sql 映射文件中配置的 id 标识,第二个参数是要插入的对象。其运行结果如下:

MyBatis 增删改查基础

0x03:删除数据

首先,需要在 sql 配置文件 UserMapper.xml 中配置相应的 sql 映射,代码如下:

MyBatis 增删改查基础

其中 id 代表其 sql 被解析时的唯一标识,parameterType 代表 sql 中接收参数的类型。

在测试类中添加如下代码进行测试:

MyBatis 增删改查基础

代码中通过 sqlSession 的 delete 方法来删除数据,其中第一个参数是 sql 映射文件中配置的 id 标识,第二个参数是传递的值内容,代码中代表要删除记录的 id 号,其运行结果如下:

MyBatis 增删改查基础

0x04:修改数据

首先,需要在 sql 配置文件 UserMapper.xml 中配置相应的 sql 映射,代码如下:

MyBatis 增删改查基础

其中 id 代表其 sql 被解析时的唯一标识,parameterType 代表 sql 中接收参数的类型。

在测试类中添加如下代码进行测试:

MyBatis 增删改查基础

代码中通过 sqlSession 的 update 方法来修改数据,其中第一个参数是 sql 映射文件中配置的 id 标识,第二个参数是传递的内容,代码中为 user 对象,其运行结果如下:

MyBatis 增删改查基础

0x05:MyBatis 使用场景总结

对于 MyBatis,其 sql 语句重点是在 sql 映射配置文件中配置的,而 hibernate 的 sql 语句不需要开发人员完成,只需要调用相关 API 即可,在开发效率来说是有优势的,缺点是不能对 sql 语句进行优化和修改。而 MyBatis 可以自己配置 sql 语句,可以适应项目经常变化的需求。

所以,MyBatis 使用场景是:对 sql 优化要求比较高,或是项目需求或业务经常变动。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多