热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javaibatis例子_月光软件站编程文档Java介绍iBATIS的SQLMap的简单例子

这篇文章介绍了iBATIS的SQLMap的简单例子。它是一个免费的开放源代码软件。具有以下优点:10、知道怎样操作10种以上的数据库9、可配置的caching(包括从

这篇文章介绍了iBATIS的SQL Map的简单例子。它是一个免费的开放源代码软件。

具有以下优点:

10、知道怎样操作10种以上的数据库

9 、可配置的caching(包括从属)

8、支持DataSource、local transaction managemen和global transaction

7、简单的XML配置文档

6、支持Map, Collection, List和简单类型包装(如Integer, String)

5、支持JavaBeans类(get/set 方法)

4、支持复杂的对象映射(如populating lists, complex object models)

3、对象模型从不完美(不需要修改)

2、数据模型从不完美(不需要修改)

1、你已经知道SQL,为什么还要学习其他东西

resultClass="examples.domain.Address">

select

ADR_ID           as id,

ADR_DESCRIPTION  as description,

ADR_STREET       as street,

ADR_CITY         as city,

ADR_PROVINCE     as province,

ADR_POSTAL_CODE  as postalCode

from ADDRESS

where ADR_ID = #value#

我怎样用Java执行它呢?

/*

* 以下几行代码在以上的语句中将integer 5 传递给#value#参数,来执行映射语句。

*/

Integer pk = new Integer(5);

Address address = (Address)sqlMap.queryForObject("getAddress", pk);

//提示:查看JPetStore 4,它使用了许多的新的特性,它是一个完整的应用实例。同时也有详尽开发指南的完整的文档。

//更多的例子请看下面。

insert into ADDRESS (

ADR_ID,

ADR_DESCRIPTION,

ADR_STREET,

ADR_CITY,

ADR_PROVINCE,

ADR_POSTAL_CODE)

values (

#id#,

#description#,

#street#,

#city#,

#province#,

#postalCode#)

//执行这个插入语句就像执行一个查询语句一样方便。

//executeUpdate()方法被用于插入,更新和删除。

Address address = new Address();

address.setId(15);

address.setDescription("Bob's Comic Book Store");

address.setStreet ("16 Somestreet");

...

sqlMap.insert ("insertAddress", address);

resultClass="examples.domain.Product">

select

PRD_ID           as id,

PRD_CATEGORY     as category,

PRD_DESCRIPTION  as description,

PRD_RETAIL       as retail,

PRD_QUANTITY     as quantity

from PRODUCT

where PRD_CATEGORY = #value#

//为一个“dog”类目中获得一个产品列表执行以上语句,就像这样那么简单:

String category = "dog";

List productList = sqlMap.queryForList("getProductByCategory", category);

//太多的结果?那么 完全可导航、惰性加载(lazy-loaded)、用JavaBean来分页列出产品、

//在jsp页面中的易用性 怎么样呢?一页10个行吗?

PaginatedList productList = sqlMap.queryForList("getProductByCategory",

category,

10);

productList.nextPage();

productList.previousPage();

productList.isNextPageAvailable();// etc.

//需要一个来自相同查询的产品ID和描述的映射?

Map descriptionMap = sqlMap.queryForMap ("getProductByCategory",

category,

"id",

"description");

resultClass="examples.domain.Employee">

SELECT

emp_id           as id,

emp_number       as employeeNumber,

emp_first_name   as firstName,

emp_last_name    as lastName,

emp_dept_code    as departmentCode

FROM employee

START WITH emp_id = #value#

CONNECT BY PRIOR emp_manager_id = emp_id;

Integer managerId = new Integer(15);

List employeeList = sqlMap.queryForList("getEmployeesByManagerRecursively",

managerId);

down_info.asp?id=31333



推荐阅读
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • ED Tree HDU4812 点分治+逆元
    这道题非常巧妙!!!我们进行点分治的时候,算出当前子节点的所有子树中的节点,到当前节点节点的儿子节点的距离,如下图意思就是当前节点的红色节点,我们要求出红色节点的儿子节点绿色节点, ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 本文深入探讨了领域驱动设计(DDD)中的聚合概念及其在事件溯源架构中的应用。聚合是一组紧密相关的类,这些类作为一个整体运作,形成一个有明确边界的组织。只有通过聚合根才能与聚合内的对象进行交互。 ... [详细]
  • 本文介绍如何通过创建数据库触发器来限制Oracle数据库中特定用户的登录IP地址,以增强系统的安全性。示例代码展示了如何阻止非授权IP地址的登录尝试。 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • Kubernetes Services详解
    本文深入探讨了Kubernetes中的服务(Services)概念,解释了如何通过Services实现Pods之间的稳定通信,以及如何管理没有选择器的服务。 ... [详细]
  • 来自FallDream的博客,未经允许,请勿转载,谢谢。一天一套noi简直了.昨天勉强做完了noi2011今天教练又丢出来一套noi ... [详细]
  • Kubernetes 实践指南:初次体验
    本文介绍了如何通过官方提供的简易示例,快速上手 Kubernetes (K8S),并深入理解其核心概念和操作流程。 ... [详细]
  • 深入解析Nacos服务自动注册机制
    本文将探讨Nacos服务自动注册的具体实现方法,特别是如何通过Spring事件机制完成服务注册。通过对Nacos源码的详细分析,帮助读者理解其背后的原理。 ... [详细]
  • 本文将作为我硕士论文的一部分,但鉴于其内容的独特性和趣味性,决定单独发布。文中将定义一些皮亚诺公理,并介绍如何使用这些公理进行等式替换,以证明定理。 ... [详细]
  • SpringBoot底层注解用法及原理
    2.1、组件添加1、Configuration基本使用Full模式与Lite模式示例最佳实战配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断配置类组 ... [详细]
  • 本文介绍了如何通过创建自定义 XML 文件来修改 Android 中 Spinner 的项样式,包括颜色和大小的调整。 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
author-avatar
圣友家具简章da
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有