MyBatis基础学习(二):动态SQL语句和单、多表查询

本文主要内容:Mybatis中的动态SQL语句、单表查询、多表查询

Mybatis中的动态SQL语句

####动态SQL(一):where与if标签的使用

  1. 首先我们在实体类中定义一个QueryVo
    实体类对象
  2. 定义我们需要使用的查询方法(即Dao中的方法)
    查询方法
  3. 在UserDao.xml中完成sql语句的书写,这里有两种书写形式(不建议使用拼字符串where 1 = 1所以不做展示)
    动态SQL方法1

####动态SQL(二):foreach标签的使用

  1. 定义我们需要使用的查询方法
    查询方法
  2. 在UserDao.xml中完成sql语句的书写(注意foreach标签的参数)
    动态SQL方法2

单表查询

####单表查询(一):一对一单表查询

  1. 数据库外键展示(这里的外键为account表中uid关联user表中的id主键)
    数据库外键展示
  2. 生成user实体类(注意这里的get和set方法因为空间原因没有写全)
    user
  3. 生成account实体类(注意在account中需要添加user表的关系映射)
    account
  4. AccountDao.xml中SQL语句的编写(我这是使用了AccountDao.xml因此需要在主要配置文件修改映射配置文件的位置)
    SQL语句
单表查询(二): 一对多单表查询
  1. 数据库查询展示(即在查询user时获取user的账户信息)
  2. 生成user实体类(注意这里的get和set方法因为空间原因没有写全)(注意在user表需要添加account表的关系映射)
    user表
  3. 生成account实体类
    account
  4. UserDao.xml中SQL语句的编写(我这是使用了UserDao.xml因此需要在主要配置文件修改映射配置文件的位置)
    一对多SQL语句

多表查询

  1. 多表查询所依赖数据库展示
    多表查询数据库展示
  2. 生成user实体类(注意在user表需要添加role表的关系映射是为了获取user时获取role信息)
    user实体类
  3. 生成role实体类(注意在role表需要添加user表的关系映射是为了获取role时获取user信息)
    role实体类
  4. 在查询user时获取role信息的数据库展示
    查询user时获取role信息的数据库展示
  5. 在查询user时获取role信息的sql语言展示(UserDao.xml)
    在查询user时获取role信息的sql语言展示
  6. 在查询role信息时获取user的数据库展示
    在查询role信息时获取user的数据库展示
  7. 在查询role时获取user信息的sql语言展示(RoleDao.xml)
    在查询role时获取user信息的sql语言展示
  8. 主配置文件的起别名标签与映射xml文件的标签
    主配置文件展示
  9. 总结
    1.在一对多,多对多的查询当中,我们需要在查询1的同时查询2,那么我们就需要在1的实体类中映射2的实体
    2.不论在单表还是多表查询时,如果查询结果是单个对象,那么需要在中使用标签,就需要在同时查询列指明查询所依赖的外键列名,还需要通过标签指明查询所依赖的实体类,如果查询结果是对象的集合,那么需要在中使用标签,只需通过标签指明查询所依赖的实体类
    3.当两张表有重复字段名时需要对其中的一张表进行起别名的操作,同时在起了别名时需要在和
    4.如果实体类中属性名和数据库中字段名不相同,需要在和
    5.如果在主配置文件中对实体类起了别名,那么在xml配置文件中就可以不使用全限定类名,而是使用别名(实体类类名大小写即可)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值