ibatis的配置文件中有一个命名空间的属性,如<sqlMap namespace="common">,默认情况下这个功能是关闭的。
要打开它需要在SqlMapConfig.xml文件中进行配置:
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="true"
/>
......
</sqlMapConfig>
启用了命名空间后,我们用queryForXXX进行操作的时候就要加上命名空间了,即“命名空间名.ID名”
******************************************************************
getSqlMapClientTemplate().update("namespace.id", new Integer(id));
A.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="A">
<update id="abcd">......</update>
</sqlMap>
B.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="B">
<select id="abcd">......</select>
</sqlMap>
两个sqlmap file都有id为"abcd"的配置,如果这种情况,我执行getSqlMapClientTemplate().update("abcd", new Integer(id));的时候,ibatis知道是调谁啊?
ibatis中有一个设置
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
lazyLoadingEnabled="false"
useStatementNamespaces="true" />
这儿的useStatementNamespaces="true"就是处理这个情况的,如果设为true(默认为false),你的调用就是
getSqlMapClientTemplate().update("namespace.id", new Integer(id));
分享到:
相关推荐
本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...
下面我们将详细探讨Ibatis配置文件模板中的关键组成部分,包括`SqlMap.properties`、`SqlMapConfig.xml`以及与JavaBean的映射文件。 1. **SqlMap.properties** 这是Ibatis的属性配置文件,主要用于存放数据库连接...
### Ibatis配置详解 1. **全局配置文件(ibatis-config.xml)** 全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml <!DOCTYPE configuration PUBLIC "-/...
全局配置文件SqlMapConfig.xml是IBatis的入口,用于配置数据源、事务管理器等信息。例如,对于MySQL数据库,可以在SqlMapConfig.xml中添加如下配置: ```xml , iBatisNet.DataProviders.MySql"/> ;user=...
SqlMapConfig.xml是Ibatis的全局配置文件,它包含了数据源、事务管理器等配置信息。而Mapper接口则是在Java代码中定义的,用于声明数据访问的方法。最后,Mapper XML映射文件则包含了具体的SQL语句和结果映射,它是...
3. **配置iBatis**:创建SqlSessionFactoryBean,配置数据源、MyBatis的配置文件路径等。例如: ```xml ``` 4. **定义Mapper接口和XML配置**:在iBatis中,定义Mapper接口,并在XML文件中编写SQL语句。...
一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ...
《log4j与iBatis配置详解》 在软件开发中,日志管理和数据库操作是两个至关重要的环节。Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、...
命名空间是iBatis配置中的一个重要概念,它用于区分不同的SQL映射文件。例如,`<sqlMap namespace="Account">`,在这个命名空间内定义的所有SQL语句和其他元素都属于Account模块。如果要在其他地方引用这个命名空间...
Ibatis 提供了XML配置文件和动态SQL的支持,使得SQL的编写更加灵活。 在配置Ibatis时,首先你需要在项目中引入Ibatis的依赖库,通常通过Maven或Gradle管理。在你的`pom.xml`或`build.gradle`文件中添加相应的依赖...
接着,我们需要配置 iBatis 的核心配置文件 `ibatis-config.xml`。这个文件定义了数据源、事务管理器等全局设置。以下是一个基本的配置示例: ```xml <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD ...
接下来,我们需要配置Ibatis的主配置文件`mybatis-config.xml`。在该文件中,定义数据源(DataSource)和SqlSessionFactory。以下是一个示例配置: ```xml <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD ...
iBATIS的XML配置文件包含了SQL语句、参数映射和结果集映射,使得数据库操作更加灵活和可维护。例如,一个简单的查询用户信息的XML映射文件可能如下所示: ```xml <sqlMap namespace="User"> SELECT * FROM users...
`namespace`属性应与你在主配置文件中声明的`mapper`元素的`resource`属性相对应。 ### 3. 定义Java接口(Mapper接口) 创建一个Java接口,该接口将包含与映射文件中定义的方法相对应的方法。例如: ```java ...
iBatis配置 接下来,我们将配置iBatis来映射数据库表和Java对象。我们将使用iBatis的命名空间(namespace)来定义学生和教师之间的关系。 ```xml <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map ...
在IBatis中,Namespace是用于区分不同的SqlMap配置文件的。在SqlMapConfig.xml文件中,可以使用namespace属性来指定SqlMap的命名空间。例如:<sqlMap namespace="ns">。Namespace可以避免不同的SqlMap配置文件之间的...
XDoclet 是一个强大的源代码注释处理工具,它通过解析 Java 源代码中的 Javadoc 注释标签来生成各种类型的文档或配置文件。这种机制使得开发者能够在不离开 Java 代码的情况下,方便地指定所需的额外元数据,从而...
**命名空间**是iBatis配置文件中的一个重要概念,它用于区分不同的SQL映射文件或同一文件中的不同部分。通过定义命名空间,可以避免SQL映射ID之间的冲突,并且方便地组织相关的映射信息。例如: ```xml <sqlMap ...
1. **SqlMapConfig.xml配置文件**:这是Ibatis全局配置文件,包含了数据源、事务管理器、SqlSessionFactory等关键信息。例如,你可以在这里指定数据库连接的URL、用户名、密码,以及使用的JDBC驱动类名。 ```xml ...