properties标签可以通过resource属性指定外部properties文件
写一个外部文件 一个key值对应一个values值
通过resource属性指定外部properties文件,读取配置文件
使用log4j打印日志信息
打印的日志信息
加载指定包中所有的类,给类默认起别名为类的名字但首字母小写
在 environments标签中,可以配置Mybatis的多套运行环境,将SQL映射到多个不同的数据库上
environment是environments的子标签,用来配置myBaties的一套运行环境,需指定运行环境的id,事务管理,数据源配置等相关信息。
可以通过配置多个environment标签来连接多个数据库,需要注意的是必须指定其中一个为默认运行环境(通过default指定)
用于配置数据库的连接属性,例如要连接的数据库的驱动程序名称 ,url,用户名和密码,数据库默认的type设置为pooled,表示使用连接池
mybatis的动态SQL包括以下几种元素
元素 | 作用 | 备注 |
if | 判断语句 | 单条件分支判断 |
choose(when、otherwise) | 相当于Java中的switch case语句 | 多条件分支判断 |
trim、where | 辅助元素 | 用于处理一些SQL拼接问题 |
foreach | 循环语句 | 在in语句等列举条件常用 |
set | 辅助元素 | 更新判断 |
if类似于Java中的if语句,是Mybatis中最常用的判断语句
if语句常常与test属性联合使用。语法如下:
SQL语句
当判断条件为true时才会执行所包含的SQL语句,最常见的if语句中包含where子句,例如:
使用动态前需要根据不同的情况大量手动拼接SQL语句
动态SQL更能体现Mybatis的灵活性,高度可配置和可维护性
与where有相似,其后如果存在条件,则拼接set。
对于一些SQL语句中含有in 条件,需要迭代条件集合来生成的情况,可以使用foreach 来实现 SQL条件的迭代
foreach标签用于循环语句,它很好的支持了数据和List set 接口的集合,并对此提供遍历的功能。语法格式如下:
用法:根据id进行批量删除
要删除的id:
public void testdelBeach(){List ids=new ArrayList<>();ids.add(1);ids.add(2);ids.add(5);ids.add(7);DelVO delVO=new DelVO();delVO.setIds(ids);userDao.delBatch(delVO);}