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相关/