Mybatis常用功能总结

获取参数值

@Param取别名

可以通过@Param注解标识mapper接口中的方法参数

方法名

User getUserByEmail(@Param(value = "email") String email);

sql代码

以类作为参数类型

以User类为参数,sql代码的参数与类中属性名一致。

List getUser(User user);

sql代码

获取插入的数据自增的主键

useGeneratedKeys:设置使用自增的主键

keyProperty:因为增删改有统一的返回值是受影响的行数,因此只能将获取的自增的主键放在传输的参 数user对象的某个属性中

sql代码

insert into t_user

values (null, #{username}, #{password}, null, null, null, null, null)

测试代码

@Test

public void test8() {

User user = new User(null, "小白", "123456", null, null, null, null, null);

System.out.println(user);

mapper.insertUser(user);

System.out.println(user);

}

输出结果

Mybatis常用功能总结

可以看到,第一次输出user的时候id的值为null,当插入数据之后,id变成了19。

字段名和属性名建立映射

字段名和属性名建立一对一映射

当数据库字段名和用于获取的类的属性名不一致时,需要建立字段名和属性名的映射来获取数据。

属性名

Mybatis常用功能总结

字段名

Mybatis常用功能总结

mybatis代码

字段名和属性名建立多对一映射

属性名

Mybatis常用功能总结

字段名

Mybatis常用功能总结

级联方式处理映射关系

mybatis代码


association处理映射关系

分步查询处理映射关系

第二步的查询方式

通过第一步查询结果中的Email为条件,分步查询结果赋值给user属性。

字段名和属性名建立一对多映射

属性名

Mybatis常用功能总结

collection处理映射关系

sql语句实际查询数据条数为3条

Mybatis常用功能总结

将根据userEmail字段在t_activity表中的查询到的数据放入到了activeFormList当中

输出结果

分步查询处理映射关系

首先在t_user表中查询id为7的用户,然后根据用户的邮箱在t_activity表中以userEmail为条件查询

第二步的查询代码

分步查询

select="com.mybatis.mapper.ActivityMapper.getActivityByUserEmail" column="userEmail">

动态SQL

if标签

if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中 的内容不会执行。

trim标签

trim用于去掉或添加标签中的内容,trim标签的功能比where标签的功能更强大,所以这里我只写另 trim标签,没有写where标签。

常用属性:

prefix:在trim标签中的内容的前面添加某些内容。

prefixOverrides:在trim标签中的内容的前面去掉某些内容。

suffix:在trim标签中的内容的后面添加某些内容。

suffixOverrides:在trim标签中的内容的后面去掉某些内容。

choose、when、otherwise标签

和if () ... else if () ... else意思一样。不满足标签的内容时,判断下一个标签,满足条件就结束,都不满足执行标签中的内容。

foreach标签

常用属性:

collection:设置要循环的数组或集合。

item:表示集合或数组中的每一个数据。

separator:设置循环体之间的分隔符。

open:设置foreach标签中的内容的开始符。

close:设置foreach标签中的内容的结束符。

查询id为ids中的数的数据

批量删除数据

delete from t_activity where activeId in

#{item}

批量添加数据

insert into t_activity values

(null,#{active.activeName},#{active.acticeTime})

sql标签

sql片段,可以记录一段公共sql片段,在使用的地方通过include标签进行引入

id,username,password

分页插件

Maven链接

com.github.pagehelper

pagehelper

5.2.0

sql代码

测试代码

@Test

public void test9() {

PageHelper.startPage(1, 5);//设置分页,从第1条数据到第5条数据

List allActive = mapper.getAllActive();

for (ActiveForm activeForm : allActive)

System.out.println(activeForm);

}

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章