MyBatis映射器

MyBatis通过映射器配置可以生成对应的JavaBean返回给调用者。
映射器中可以定义select、insert、update、delete、sql、parameterMap、resultMap、cache、cache-ref等。

1、select

  • 定义Dao接口
public int countFirstName(String firstName);
  • 匹配xml文件

首先id标出这条SQL,然后parameterType定义参数类型,在定义返回类型resultType

当需要传递多个参数到一个select语句中时,可以将这些参数组合成一个POJO类,利用类将参数传递进去;如:

public List findRole(string name,string role,string note);

这个接口需要传递三个参数进去,虽然可以像下面这样使用@Param注解,但是有点儿繁琐:

public List findRole(@Param("name")string name,@Param("role")string role,@Param("note")string note);

将这三个参数变成一个POJO类:

public class RoleParam(){
private String name;
private String role;
private String note;
//setter和getter方法
}

2、insert

Dao接口为:

public int insertRole(Role role);

使用主键回填的方式,自动递增sql数据库中的自增字段;


	insert into role_t(role_name,note) values (#{roleName},#{note})

也可以使用selectKey处理更复杂的插入逻辑:


	
		select if(max(id) is null,1,max(id)+2) as newId from role_t
	
	insert into role_t(role_name,note) values (#{roleName},#{note})

如果主键为null,设置为1,否则设置为主键最大值+2;

3、update和delete

在MyBatis中insert、update、delete操作执行完成之后,都会返回一个整数,指示执行语句后影响的记录条数。



	update user_t set
	user_name = #{userName},
	user_num = #{userNum},
	user_role = #{userRole}
	where id=#{id}



	delete from user_t where id=#{id}

你可能感兴趣的:(MyBatis学习总结)