Mybatis执行修改与添加详解及日志配置
"Mybatis_day2.pdf 教程涵盖了Mybatis执行插入、更新的注意事项,所有jdbcType属性,以及如何显示执行SQL语句。此外,还介绍了Mybatis中的高级查询,包括分页查询和模糊查询的实现方法。" 在Mybatis框架中,执行插入和更新操作时有一些关键细节需要注意。当执行插入或更新时,Mybatis不允许出现空值,因此如果希望某个列的值可以为空,必须在映射文件中为该列添加`jdbcType`属性。例如,对于一个允许为空的字符串字段,可以这样配置:`<if test="column != null">column=#{column,jdbcType=VARCHAR}</if>`。 Mybatis支持多种`jdbcType`,这些类型与数据库中的数据类型相对应,包括VARCHAR、INT、DATE等。正确选择`jdbcType`有助于确保数据的正确存储和检索,特别是在处理空值时。例如,对于日期类型的字段,可能需要设置`jdbcType=DATE`。 为了能够显示执行SQL语句,便于调试和理解Mybatis的工作原理,通常会引入日志系统如Log4j。Log4j的配置文件`log4j.properties`需要放在项目的src目录下。配置文件中定义了日志级别(ERROR、WARN、INFO、DEBUG、TRACE),以及日志输出的格式。将Mybatis相关的类的日志级别设置为DEBUG,可以打印出SQL语句及其参数,如`log4j.logger.com.baizhi.dao=DEBUG`。 在Mybatis的高级查询中,分页查询是一个常用功能。分页查询通常包括排序、设置行号范围以及指定开始记录。以下是一个示例分页查询语句: ```sql SELECT e1.id, e1.name, e1.password FROM ( SELECT e.id, e.name, e.password, ROWNUM r FROM (SELECT id, name, password FROM t_user ORDER BY id) e WHERE ROWNUM < #{pageNow} * #{pageSize} ) e1 WHERE r > ((#{pageNow} - 1) * #{pageSize}) ``` 这个查询首先对数据进行排序,然后通过`ROWNUM`创建一个别名并设定查询范围。`#{pageNow}`和`#{pageSize}`是传入的分页参数,分别代表当前页码和每页大小。 模糊查询是另一种常见的查询方式,Mybatis提供了简单的方法来实现。例如,如果想根据名称进行模糊查询,可以这样编写SQL: ```sql SELECT * FROM t_user WHERE name LIKE '%' || #{name} || '%' ``` 这个查询会匹配名称中包含传入参数`name`的任何记录。`%`是通配符,`||`是字符串连接操作符。 Mybatis是一个强大而灵活的持久层框架,通过理解并掌握上述知识点,开发者可以更有效地实现数据的CRUD操作,并进行复杂的查询。
![](https://csdnimg.cn/release/download_crawler_static/71532057/bg1.jpg)
下载后可阅读完整内容,剩余5页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/2dc69e4f5d5e424db179d1e28de43168_zrhhrz.jpg!1)
- 粉丝: 0
- 资源: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)