MyBatis学习

特性

持久层框架:负责将数据保存到数据库

JavaEE三层框架:表现层:页面;业务层:逻辑;持久层:数据持久化 

将硬编码(数据库配置信息。或者SQL语句)写入配置文件

用注解的方式会更加方便

//这里调用的是sqlSession的自带方法,加载UserMapper.xml中的id
SqlSession sqlSession = MybatisUtils.getSqlSession(); sqlSession.selectList("com.mf.mapper.UserMapper.getUserList");

//这里用的是Mapper代理的方式
SqlSession sqlSession = MybatisUtils.getSqlSession();
//获取到Mapper的类,类中的方法和mapper.xml中的id名一一对应
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

在resources下创建多层包结构,用/的方式创建,不要用点. 来分割

插件:MybatisX 非常方便

红色头绳的小鸟是xml映射文件,蓝色头绳是Mapper类

完成增删改查功能

考虑三件事情,

查询数据时:写什么样的sql语句,需要什么参数,返回什么结果。

问题:resultMap

数据库表的字段名称 和实体类的属性名称不一样,则不能自动封装数据

1.在sql种对不一样的名称取别名,用as 

2.使用resultMap

id:唯一标识

type:映射类型

3.配置成驼峰命名法(弹幕说的)

参数占位符

1)#{} 会在编译的时候将其替换成?,可以防止SQL注入

2)${} 拼sql 会存在SQL注入问题

3)参数传递的时候用#{}

表名和列名不固定的时候,可以用${}

4)参数类型:parameterType 可以省略

5)特殊字符的处理

用转义符号

用CDATA

select * from outline where outline_id=#{outlineId}优选

条件查询

注意sql语句的书写

1)精准查询 =

2)模糊查询 like

 注意参数传递,多个参数如何设置

动态条件查询

在条件查询前判断值是不是空

单条件动态查询

添加修改数据

主键返回

动态修改:使用<set>标签

删除数据

批量删除:用id数组 要需要<foreach>标签

collection="array" 

                                                                                    

相关推荐

  1. MyBatis学习

    2024-06-12 11:58:08       30 阅读
  2. MyBatis学习笔记

    2024-06-12 11:58:08       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 11:58:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 11:58:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 11:58:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 11:58:08       20 阅读

热门阅读

  1. 汇编:保护模式下的寻址方式

    2024-06-12 11:58:08       5 阅读
  2. Go语言进阶教程

    2024-06-12 11:58:08       5 阅读
  3. C#面:阐述 POCO 是什么意思

    2024-06-12 11:58:08       7 阅读
  4. 设备驱动程序

    2024-06-12 11:58:08       5 阅读
  5. C++作业第四天

    2024-06-12 11:58:08       6 阅读
  6. 图论第9天

    2024-06-12 11:58:08       7 阅读
  7. 多进程并发服务器

    2024-06-12 11:58:08       8 阅读
  8. 2024年全国高考作文题目汇总

    2024-06-12 11:58:08       7 阅读
  9. 求最值(C++)

    2024-06-12 11:58:08       7 阅读
  10. 【京存】无惧卡顿

    2024-06-12 11:58:08       5 阅读
  11. 6.11啊啊啊啊啊啊啊

    2024-06-12 11:58:08       6 阅读
  12. NX二次开发消息打印,可用于调试

    2024-06-12 11:58:08       6 阅读
  13. tensorflow安装

    2024-06-12 11:58:08       5 阅读