MyBatis入门 --- SQL映射文件(添加、修改、删除用户信息、联表查询,获取指定用户的相关信息及其地址)

本文介绍了MyBatis中的SQL映射文件,包括mapper元素、namespace、resultMap、insert、update、delete和select等元素的使用。详细讲解了如何添加、修改、删除用户信息,并通过联表查询获取指定用户的相关信息和地址,提供了相关实体类和Mapper接口的实现及测试案例。
摘要由CSDN通过智能技术生成

一、SQL映射的xml文件

  • MyBatis真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当于简单
  • SQL映射文件的几个顶级元素(按照定义的顺序)

mapper - namespace

  • cache - 配置给定命名空间的缓存
  • cache-ref - 从其他命名空间引用缓存配置
  • resultMap - 用来描述数据库结果集和对象的对应关系
  • sql - 可以重用的SQL块,也可以被其他语句引用
  • insert - 映射插入语句
  • update - 映射更新语句
  • delete - 映射删除语句
  • select - 映射查询语句

mapper元素

   mapper

    namespace:命名空间

      namespace和子元素的id联合保证唯一,区别不同的mapper

      绑定DAO接口

          namespace的命名必须跟某个接口同名

          接口中的方法与映射文件中的SQL语句id一一对应

 

select

       select是MyBatis中最常用的元素之一

       select语句有很多属性可以详细配置每一条语句

id

        命名空间中唯一的标识符

       接口中的方法与映射文件中的SQL语句id一一对应

parameterType

      传入SQL语句的参数类型

      基础数据类型:

             int、String、Date等

             只能传入一个,通过#{参数名}即可获取传入的值

       复杂数据类型

            Java实体类、Map等

            通过#{属性名}或者#{map的keyName}即可获取传入值

resultType:直接表示返回类型

            SQL语句返回值类型的完整类名或别名

resultMap:对外部resultMap的引用

           应用场景:

               数据库字段信息与对象属性不一致

               复杂的联合查询,自由控制映射结果

 

二、添加、修改、删除用户信息

 

编写user实体类 User.java

package net.togogo.bean;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;


public class User  {
   private Integer id; //id
   private String userCode; //用户编码
   private String userName; //用户名称
   private String userPassword; //用户密码
   private Integer gender;  //性别
   private Date birthday;  //出生日期
   private String phone;   //电话
   private String address; //地址
   private Integer userRole;    //用户角色
   private Integer createdBy;   //创建者
   private Date creationDate; //创建时间
   private Integer modifyBy;     //更新者
   private Date modifyDate;   //更新时间

   //年龄
   private int age;
   private String sex;

   //用户和角色是1对1的关系
   private Role role;

   //用户和收货地址是1对多的关系
   private List<Address> addressLi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值