Java-Mybaits
Mybatis
使用Mybaits查询用户数据的基本流程:
Mybatis 进行数据库的操作语句编写有如下两种方式:
- 注解的形式
- XML文件映射
数据库连接池
- 是一个容器,负责分配、管理数据库连接(connection)
- 优势:资源复用、提升系统响应速度
- 接口:DataSource
- 产品:C3P0、DBCP、Druid、Hikari
增删改操作
删除数据
1 |
|
增加数据
1 |
|
@Options : 主键返回注解
查询数据
数据封装
- 实体类属性名 和 数据库表查询返回的字段名一致,mybatis 会自动封装
- 实体类属性名 和 数据库表查询返回的字段名不一致,不会封装
解决方案:
方案一:给字段起别名,让别名与实体类属性名一致
方案二:使用 @Results 注解手动映射封装 :
1
2
3
4@Results{
@Result(column = "", property = ""),
@Result(column = "", property = "")
}方案三:开启mybatis的驼峰命名自动映射开关
mybatis.configuration.map-underscore-to-camel-case= true
XML映射文件
XML映射文件定义规范:
动态SQL
随着用户的输入或者外部条件的变化而变化的SQL语句,我们称为动态SQL
if-where
通过<if> 、<where> 、<foreach>
等标签实现动态SQL
set
- set标签用于在更新SQL中包括if标签
- 可以去掉起包括语句中为null的语句中的逗号
foreach
<foreach></foreach>
语法和属性:select * from emp where in (18,19,20);
sql-include
<sql></sql> <include>
这两个标签是实现SQL语句复用的
参数格式和对应接收方法
queryString
样例: /emps?name=张&gender=1&begin=2007-09-01&end=2022-09- 01&page=1&pageSize=10
接收方法:参数名和请求参数字符串中的一样public Result page(Integer page,Integerpagesize)
application/json
1 |
|
json 格式传递的参数,接收方法如下:
@RequestBody Dept dept
自动将json字符串封装到实体类中
1 |
|
路径参数
样例:/emps/1
接收方法:
1 |
|
Java-Mybaits
https://cs-lb.github.io/2024/10/24/Java/Java-Mybatis/