JavaWeb-3MyBatis相关
JavaWeb-3MyBatis相关
1. MyBatis简介(很多要配置的)
1.1 简介
1.2 JDBC缺点
1.3 MyBatis简化
2. MyBatis快速入门 —— 以一个需求为例
2.1 MyBatis快速入门,查询user表中所有数据
官网继续复制代码,编写一个MyBatisDemo
类
2.2 解决SQL映射文件的告警提示
3. Mapper代理开发
3.1 目的
上面的那种快速入门方式,还是要解决硬编码的一些问题
3.2 使用Mapper代理
- 第一步
- 第二步
- 第三步(参数和返回值类型一样)
- 第四步,小改路径
3.3 编码(重点,实现接口)
3.4 简化映射文件的加载
4. MyBatis核心配置文件mybatis-config.xml
- 配置多个,可以链接不同的数据库,default切换
- 别名(可以包扫描)
- xml的顺序约束!!!!!
5. 配置文件完成增删改查
5.1 需求说明
条件查询,删除多个(批量删除)
5.2 MyBatisX插件
5.3 查询所有&结果映射(数据库列名和属性名不一致)
5.3.1 查询所有数据
sql语句怎么写、有没有参数、完成了后返回什么值
5.3.2 数据库的名称,和类的名称可能对不上,比如hello_world和helloWorld
起别名,太麻烦了
灵活解决方案,resultMap
5.4 查看详情(根据id来进行查询)
5.4.1 设置参数(参数占位符、parameterType可选、特殊字符处理CDATA区和转义字符)
查看某一条数据的详细信息,根据id来进行查询
parameterType好像不用写?
参数占位符,使用#{}
替代${}
,可以避免sql注入问题
5.4.2 特殊字符处理
5.5 查询-条件查询
5.5.1 查询-多条件查询
参数有三种不同的接收方式
- 第一种方式
注意需要手工处理一下这个百分号的地方
- 第二种方式
对象的属性的名称,要和参数占位符都一样
- 第三种方式
5.5.2 查询-多条件-动态条件查询(关键,假设3个条件,用户可以输入0 1 2 3个,if where标签)
用户有可能只输入一个条件,因为拼接条件的时候用的是and,程序太不灵活了
- if的强大使用,然而有and拼接问题
然而,如果只根据companyName进行查询,那么这个and就给拼上去了,SQL语法就直接错了
解决:
- 恒等式,where 1=1 and xxxx and xxxx,这样格式就全一样了
- where标签
5.5.3 查询-单条件-动态条件查询(多个条件中选择一个)
多个条件,只能用其中一种!!!!!!!!!!
5.6 添加
5.6.1 最基础的添加
增删改的时候,要commit
1 |
|
5.6.2 添加——主键返回(TODO多主键怎么办?)
5.7 修改(update)
5.7.1 修改全部字段
可以返回影响的行数
5.7.2 动态修改
set也可以用标签,一个update功能就很通用
5.8 删除
5.8.1 删除一个
5.8.2 批量删除(复选删除)
id数组,一次性的接收过来
6. MyBatis参数传递
多个参数,param注解
7. 注解,只适合简单语句
JavaWeb-3MyBatis相关
http://example.com/2023/01/08/develop/java/javaweb/JavaWeb-3MyBatis相关/