返回顶部
首页 > 资讯 > 数据库 >ibatis一对多数据库如何实现
  • 656
分享到

ibatis一对多数据库如何实现

ibatis数据库 2023-02-15 15:02:51 656人浏览 八月长安
摘要

这篇文章主要介绍了ibatis一对多数据库如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ibatis一对多数据库如何实现文章都会有所收获,下面我们一起来看看吧。iBat

这篇文章主要介绍了ibatis一对多数据库如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ibatis一对多数据库如何实现文章都会有所收获,下面我们一起来看看吧。

iBatis的多表关联。
ibatis的表关联,和数据库语句无关,是在Java程序中,把若干语句的结果关联到一起。
这种关联形式,虽然在大数据量时是很奢侈的行为,但是看起来很干净,用起来也很方便。这里用表lock和key为例,一个lock可以配多个key。
CREATETABLE lock(
     id int,
     lockName varchar
);

CREATETABLEkey(
     id int,
     lockId int,
     keyName varchar
);定义映射类
package zzcv.dao.domain;

publicclass Lock
{
    privateint id;
    private String lockName;
    private List<Key> keys = new ArrayList<Key>();
    
    publicvoid getId(){
        return..
         ...
        //省略
}

package zzcv.dao.domain;

publicclass Key
{
    privateint id;
private String keyName;
    private Lock lock;          ...
        //省略
}表关联通过配置文件的resultMap实现,不需要关联的查询仍可用resultClass
<sqlMap namespace="test">   
  <typeAlias alias="Key"="zzcv.dao.domain.Key"/>   
  <typeAlias alias="Lock"="zzcv.dao.domain.Lock"/>   
    
  <resultMap id="KeyResult"="Key">   
  <result property="id"="id"/>   
  <result property="keyName"="keyName"/>   
  <result property="lock"="lockId"="getLockById"/>   
  </resultMap>
  <!---->
    
  <resultMap id="LockResult"="Lock">   
  <result property="id"="id"/>   
  <result property="lockName"="lockName"/>   
  <result property="keys"="id"="geTKEysByLockId"/>   
  </resultMap>
  <!---->
  
  <!---->
  
  <select id="selectAllkeys"="KeyResult">   
  <![CDATA[   
   select id,lockId,keyName from key
  ]]>   
  </select>   
    
  <select id="getLockById"="int"="Lock">   
  <![CDATA[   
   select id,lockName from lock where id = #value#   
  ]]>   
  </select>
  
  <select id="selectAllLocks"="LockResult">   
  <![CDATA[   
   select id,lockName from lock
  ]]>   
  </select>   
    
  <select id="getKeyByLockId"="int"="key">   
  <![CDATA[   
   select id,lockId,keyName from lock where lockId = #value#   
  ]]>   
  </select>
</sqlMap>   现在可以代码中使用了
     ...
     ..
    try{
         Reader reader ="mxd/dao/data/SqlMapConfig.xml");
         sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
         reader.close(); }
    catch(ioException e){
        thrownew"Something bad happened while building the SqlMapClient instance."+ e, e);}

     List locks=sqlMapper.queryForList("selectAllLocks");
    //取一个Lock对象。
=(Lock)locks.get(0);
    //从Lock对象取List<Key>。
=lock.getKeys();
    //示例结束,取到结果了,剩余的一个关联是取对象Lock,其余操作差不多,就不写出了。
     ...

关于“ibatis一对多数据库如何实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“ibatis一对多数据库如何实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: ibatis一对多数据库如何实现

本文链接: https://lsjlt.com/news/196217.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ibatis一对多数据库如何实现
    这篇文章主要介绍了ibatis一对多数据库如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ibatis一对多数据库如何实现文章都会有所收获,下面我们一起来看看吧。iBat...
    99+
    2023-02-15
    ibatis 数据库
  • MyBatis如何实现多表查询(多对一、一对多)
    MyBatis实现多表查询  一、多对一查询 数据库的准备 创建两张表,一张老师表,一张学生表 将老师主键id关联学生外键tid 创建sql的语句 create ta...
    99+
    2024-04-02
  • 如何使用Spring解决ibatis多数据源的问题
    本篇内容介绍了“如何使用Spring解决ibatis多数据源的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!iBatis多数据源的苦恼在...
    99+
    2023-06-18
  • 如何实现数据库修改多对多的中间表的记录
    本篇内容主要讲解“如何实现数据库修改多对多的中间表的记录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现数据库修改多对多的中间表的记录”吧! ...
    99+
    2024-04-02
  • Django数据映射(一对一,一对多,多对多)
    目录数据表关联关系映射一对一映射用法示例一对多映射用法示例多对多映射用法示例数据表关联关系映射 常用的表关联方式有三种: 一对一映射如: 一个身份证对应一个人 一对多映射如: 一个班...
    99+
    2024-04-02
  • Hibernate一对多数据关联怎么实现
    本篇内容主要讲解“Hibernate一对多数据关联怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate一对多数据关联怎么实现”吧!数据模型表定义sqluse sam...
    99+
    2023-06-17
  • MySQL如何实现一对多查询
    这篇文章给大家分享的是有关MySQL如何实现一对多查询的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。这次要实现的是一对多查询,使用 MySQL 的 group_concat 函数...
    99+
    2024-04-02
  • 用实例解析MySQL多表关联一对多查询如何实现取最新一条数据
    这篇文章主要用实例解析MySQL多表关联一对多查询如何实现取最新一条数据,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。MySQL 多表关联一对多查询取最新的一...
    99+
    2024-04-02
  • thinkPHP5框架如何实现多数据库连接
    这篇文章将为大家详细讲解有关thinkPHP5框架如何实现多数据库连接,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1. 多数据库连接方法1:在需要连接其他数据库的地方,使用Db::connec...
    99+
    2023-06-15
  • 使用Mybatis 如何实现多对一或一对多的关联查询
    使用Mybatis 如何实现多对一或一对多的关联查询?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先  数据库量表之间字段关系(没有主外键)studentmaj...
    99+
    2023-05-31
    mybatis 一对多 多对一
  • 如何用php实现多对一通讯录
    本文小编为大家详细介绍“如何用php实现多对一通讯录”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何用php实现多对一通讯录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一. 通讯录的基本功能添加联系人:包括...
    99+
    2023-07-05
  • Hibernate的一对一,一对多/多对一关联保存的实现
    目录一对一关联保存:留言表实体类配置:(主表)留言内容表配置:(从表)留言表hbm.xml配置:(主表)留言内容表hbm.xml配置:(从表)一对多/多对一保存活动表实体类配置:(主...
    99+
    2024-04-02
  • 如何通过pycharm实现对数据库的查询等操作(非多步操作)
    目录pycharm对数据库的查询等操作(非多步操作)Pycharm操作数据库步骤服务端配置客户端配置pycharm对数据库的查询等操作(非多步操作) import pymysql i...
    99+
    2024-04-02
  • 数据库中如何实现PROFILE
    这篇文章给大家分享的是有关数据库中如何实现PROFILE的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、创建CREATE PROFILE <profile_name&...
    99+
    2024-04-02
  • MySQL数据库锁如何实现
    这篇“MySQL数据库锁如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL数...
    99+
    2023-03-23
    mysql
  • MySQL数据库的主从配置(多主对一从)
    一、实验环境部署主服务器 192.168.18.42 端口3306  ==》 从服务器 192.168.18.44 端口 3306    主服务器...
    99+
    2024-04-02
  • Hibernate中怎么实现多对一和一对多操作
    这期内容当中小编将会给大家带来有关Hibernate中怎么实现多对一和一对多操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、多对一和一对多概念其实这个概念上来说很简单,比如一个客户可以有多个订单,多...
    99+
    2023-06-17
  • 利用mybatis如何实现一个一对多查询功能
    利用mybatis如何实现一个一对多查询功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.需求分析:在开发中会遇到这样一个问题,查询订单信息,级联查询出用户信息和订单明...
    99+
    2023-05-31
    mybatis 一对多查询
  • MyBatis中多对一和一对多数据的处理方法
    目录多对一的处理1、数据库设计2、搭建测试环境3、按查询嵌套处理4 、按结果嵌套处理一对多的处理1、实体类编写2、按结果嵌套处理3、按查询嵌套处理4、小结多对一的处理 多对一的理解:...
    99+
    2023-01-03
    MyBatis多对一 MyBatis一对多处理
  • MyBatis 实现多对多中间表插入数据
    目录多对多中间表插入数据方法具体实现多对多的关联表中,如何同时插入数据的学习心得插入步骤多对多中间表插入数据 在做这个员工管理系统demo的时候,由于user和role是多对多关系,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作