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

MyBatis CRUD快速入门

3. CRUD操作

3.1. namespace

配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名

3.2. select

  • select标签是mybatis中最常用的标签之一
  • select语句有很多属性可以详细配置每一条SQL语句
    • id
      • 命名空间中唯一的标识符
      • 接口中的方法名与映射文件中的SQL语句ID 一一对应
    • parameterType
      • 传入SQL语句的参数类型 。【万能的Map,可以多尝试使用】
    • resultType
      • SQL语句返回值类型。【完整的类名或者别名】

使用万能的Map

  1. 在接口方法中,参数直接传递Map;
selectUserByNP2(Map<String,Object> map);
  1. 编写sql语句的时候,需要传递参数类型,参数类型为map
<select id="selectUserByNP2" parameterType="map" resultType="com.kuang.pojo.User">
select * from user where name = #{username} and pwd = #{pwd}
</select>
  1. 在使用方法的时候,Map的 key 为 sql中取的值即可,没有顺序要求!
Map<String, Object> map = new HashMap<String, Object>();
map.put("username","小明");
map.put("pwd","123456");
User user = mapper.selectUserByNP2(map);

总结:

如果参数过多,我们可以考虑直接使用Map实现,如果参数比较少,直接传递参数即可

3.3. insert、update、delete

类似Select

小结

  • 所有的增删改操作都需要提交事务!
  • 接口所有的普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上!
  • 有时候根据业务的需求,可以考虑使用map传递参数!
  • 为了规范操作,在SQL的配置文件中,我们尽量将Parameter参数和resultType都写上!

3.4. 模糊查询

模糊查询like语句该怎么写?

第1种:在Java代码中添加sql通配符。

string wildcardname = “%smi%”;
list<name> names = mapper.selectlike(wildcardname);

<select id=”selectlike”>
select * from foo where bar like #{value}
                                   </select>

第2种:在sql语句中拼接通配符,会引起sql注入

string wildcardname = “smi”;
list<name> names = mapper.selectlike(wildcardname);

<select id=”selectlike”>
select * from foo where bar like "%"#{value}"%"
</select>

http://www.kler.cn/a/396690.html

相关文章:

  • LlamaFactory介绍
  • web——sqliabs靶场——第六关——报错注入和布尔盲注
  • SQL Server Service Broker完整示例
  • 容器安装gitlab
  • Git如何简单使用
  • 学习rust语言宏之macro_rules!
  • C++之红黑树
  • element-plus表格内容如果在浏览器缩小时出现省略号时显示tooltip
  • 【Qt实现虚拟键盘】
  • Springboot集成ElasticSearch实现minio文件内容全文检索
  • Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
  • C#/WinForm拖拽文件上传
  • 为什么用SQL而不是Excel+VBA?
  • 深入探索R语言在机器学习中的应用与实践
  • Tensorflow基本概念
  • LabVIEW弧焊参数测控系统
  • 深度学习反向传播需要可导还是需要可微
  • Mybatis-Day1
  • 计算机网络HTTP——针对实习面试
  • 黑马程序员MQ学习【持续更新】
  • Mybatis快速入门 ResultMap 分页的实现
  • vscode Code is unreachable Pylance
  • uniapp h5地址前端重定向跳转
  • 音频格式转换
  • 索引及练习
  • thinkphp6配置多应用项目及多域名访问路由app配置