即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

【MyBatis】映射器(1)

编程语言 lwt976647637 19℃ 0评论
本文目录
[隐藏]

1.(1)select元素

1.1.A:配置

 

 

在接口UserDao中定义方法:

public int countFilrstName(String firstName);

 

1.2.B:自动映射

参数:autoMappingBehavior,不设置为NONE的时候,MyBatis会提供自动映射的功能,只要返回的SQL列名和JavaBean的属性一致,Mybatis就会帮助我们回填这些字段无需任何配置。

         自动映射在settings元素中配置autoMappingBehavior,包含3个值:

         NONE:取消自动映射

         PARTIAL:只会自动映射,没有定义嵌套结果集映射的结果集。(默认值)

         FULL:会自动映射任意复杂的结果集(无论是否嵌套)(嵌套映射)

1.3.C:传递多个参数

1.3.1.1、 使用Map传递参数(不推荐)

RoleDao接口中:

 public  List  findRoleByMap(Mapparams);

参数设置

 Map paramsMap = new HashMap();

       paramsMap.put(“roleName”, “me”);

             paramsMap.put(“note”,”te”);

 roleMapper.findRoleByMap(paramsMap);

 

1.3.2.2、 使用注解方式传递参数

RoleDao接口:

           public  List  findRoleByMap(@Param(“roleName”)String  rolename,@Param(“note”)
String note);

         配置文件:

     

 

1.3.3.3、 使用JavaBean传递参数

RoleDao接口:

              public  List  findRoleByMap(RoleParam  params);

     配置文件:

        

1.4.D:使用resultMap映射结果集

   roleResultMap”>

                   selectid ,role_name , note from t_role  whereid=#{id}

        

                  

         roleResultMap” 
type=”com.lwt.Role”>

                          指定主键

         roleName” column=”role_name”/>

        

2.(2)insert元素

1.1.A:配置

 

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

2.2.B:主键回填和自定义

         keyProperty:指定哪个是主键字段

         useGeneratedKeys:告诉Mybatis这个主键是否使用数据库内置策略生成

 

2.2.1.方式一:在数据库中指定表id设置规则

        

         useGeneratedKeys=”true” 
keyProperty=”id”>

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

        

         说明:在t_role指定了主键自增长,因此插入时会回填JavaBean的id值。

 

2.2.2.方式二:自定义规则(无数据设置id为1,否则取最大id加2)(MySql中)

 

        

                    order=”BEFORE”>

                            selectif( max(id) is null , 1 , max(id) +2)
as newIdfrom t_role

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

         

3.(3)update元素

执行完成后会返回一个影响后的记录条数。

        

                   updatet_role set role_name = #{roleName} , note=#{note}

                   whereid=#{id}

        

4.(4)delete元素

执行完成后会返回一个影响后的记录条数。

         delete from t_role where id=#{id}

转载请注明:CodingBlog » 【MyBatis】映射器(1)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情