`
不爱不见
  • 浏览: 284741 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis中命名空间的使用

阅读更多
在我们写SQL Map文件时,如下行

<sqlMap namespace="User">

基本上我们是按照每个表一个命名空间(namespace)的。

在这个命名空间内有如下的SQLID行

<select id="getUserById" parameterClass="java.lang.Integer" resultClass="user">
  <![CDATA[
   SELECT id, username, password FROM users WHERE id = #id#
  ]]>
</select>

请注意这里的 id="getUserById" 在同一个命名空间中是不允许重复的,那么也就意味着在不同的命名空间中

是允许重复的。

通常状况下在DAO中我们这么引用

smc.queryForList("getUserById");

这一行中的getUserById就是SQLMap中的getUserById。

如果SQLMap中不同命名空间中出现了重复的ID我们怎么用?

我们可以这么用smc.queryForList("User.getUserById");

也就是在getUeserById前加上我们需要的命名空间即可正确的访问我们期望的SQL。
注意,如果要开启命名空间的使用,那么必须在配置数据源的配置文件中加入:
  <settings useStatementNamespaces="true" />,否则命名空间无效。
          摘自:http://blog.csdn.net/bukebushuo/article/details/2517010
分享到:
评论

相关推荐

    .net中使用iBATIS的小例子

    在.NET中使用iBATIS时,首先需要安装iBATIS.NET库。可以通过NuGet包管理器或者直接下载源码编译来获取。在VS2008项目中,添加对iBATIS.NET的引用,这样就可以开始配置和使用了。 接着,我们看压缩包内的"数据库.txt...

    ibatis 中sqlMap配置

    总结来说,iBatis中的SQLMap配置涉及到命名空间、别名、插入操作、主键获取、参数类型和结果映射等多个方面,理解和熟练掌握这些知识点对于高效地使用iBatis框架至关重要。通过合理的配置,可以有效地将Java代码与...

    ibatis使用手册

    - `&lt;settings&gt;`:设置 Ibatis 的行为,如是否启用语句命名空间、缓存模型等。 - `&lt;providers&gt;`:指定数据驱动提供者的配置信息。 - `&lt;database&gt;`:包含数据库提供者信息,如数据库类型、连接字符串等。 **四、...

    ibatis教程 输入参数详解

    关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取SqlSession的过程、探索映射SQL语句的方法、命名空间的注意事项、作用域与...

    ibatis多对多关系(详细)

    我们将使用iBatis的命名空间(namespace)来定义学生和教师之间的关系。 ```xml &lt;!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt; &lt;!-- ...

    ibatis中输入输出各种类型的参数分析及#与$区别

    当`useStatementNamespaces`设置为`true`时,必须使用完整的命名空间路径来调用相应的SQL映射语句。 #### resultMap的用途 `resultMap`是iBatis中一个重要的概念,主要用于定义如何将数据库查询结果映射到Java对象...

    ibatis_sqlMap的配置总结

    如果需要在其他命名空间中引用这些元素,则需要加上命名空间名作为前缀。 #### 三、实体别名 为了简化代码并提高可读性,iBatis允许使用实体别名。通过这种方式,可以在配置文件中使用简短的别名代替复杂的全限定...

    ibatis2.3例子代码

    在上述代码中,`UserMapper`接口对应了SQL映射文件中的命名空间,`getUserById`方法则对应了SQL映射文件中的一个SQL查询语句。通过这种方式,我们可以将数据库操作与业务逻辑解耦,使得代码更易于维护和扩展。 总结...

    ibatis3资料-介绍

    - **命名空间**:每个映射文件都应该有一个唯一的命名空间,用于区分不同的映射文件,避免命名冲突。 - **生命周期管理**:正确管理`SqlSessionFactory`和`SqlSession`的生命周期是至关重要的,通常`...

    iBatis_SqlMap的配置总结[1]

    `&lt;typeAlias&gt;`用于为Java实体类创建简短的别名,方便在配置文件中使用。如`&lt;typeAlias alias="Account" type="com.lavasoft.ibatissut.simple.domain.entity.Account"/&gt;`,在需要使用Account类的地方,可以直接用...

    ibatis多表查询

    在`book.xml`中,我们定义了一个命名空间`test`,并创建了类型别名,使得Ibatis能够识别我们的Pojo类。`resultMap`元素定义了结果集映射,其中`BookResult`映射到`Book`类,并设置了`oid`,`name`属性。特别地,`...

    ibatis配置文件

    - **`useStatementNamespaces`**:控制是否使用命名空间,默认为`true`。使用命名空间可以帮助管理SQL语句,避免命名冲突。 5. **事务管理器`&lt;transactionManager&gt;`**: ```xml ... ``` 定义了ibatis的...

    Ibatis开发实例

    - **命名空间** (`namespace`):用于组织 SQL 映射的唯一标识符。 - **结果映射** (`resultMap`):定义了如何将数据库查询结果映射到 Java 对象。 - **SQL 查询**:定义了具体的 SQL 语句,其中 `#value#` 是参数...

    ibatis + filter

    而在`monter.xml`文件中,`sql-map`元素定义了命名空间,`result-map`用于定义结果集映射,`dynamic-mapped-statement`则用于动态构建SQL语句。这里要注意,`dynamic-mapped-statement`的`name`属性必须是唯一的,它...

    ibatis入门.doc

    这个命名空间将在Java代码中作为前缀使用。 - 使用`typeAlias`定义对象别名,如`User`,方便后续映射。 - 接下来,你可以定义各种数据库操作,如`insert`、`delete`、`update`和`select`。例如,`insertUser`方法...

    ibatis入门实例(全代码)

    这里的 `namespace` 代表一个命名空间,`select` 标签定义了一个查询操作,`id` 属性是查询的唯一标识,`parameterClass` 指定输入参数的类型,`resultClass` 定义了返回结果的对象类型。 在 Java 代码中,我们需要...

    ibatis使用小文档

    - `&lt;settings&gt;`:配置Ibatis的行为,如`useStatementNamespaces`设置为false意味着不使用命名空间,`cacheModelsEnabled`设置为true启用缓存。 - `&lt;database&gt;`:定义数据源,包括数据库供应商和连接字符串,其中`${}...

    Ibatis培训教程

    这里的 `namespace` 属性定义了映射的命名空间,`id` 属性是 SQL 语句的唯一标识,`resultType` 或 `parameterType` 指定了映射的对象类型。 动态 SQL 与条件查询Ibatis 支持动态 SQL,这使得在 SQL 语句中可以进行...

    iBatis.net总结 使用帮助

    - **settings**:包含了多个设置,如useStatementNamespaces控制是否需要命名空间,cacheModelsEnabled决定是否启用缓存,validateSqlMap控制是否验证映射文件。 - **providers**:配置数据驱动提供类的位置。 - ...

Global site tag (gtag.js) - Google Analytics