0 0

iBATIS配置parameterMap外键的写法5

简单来说,2个POJO,User类包含一个Depart类的引用,现在想询问User.xml里面parameterMap这里怎么写Depart。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap 
	PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
	"http://ibatis.apache.org//dtd/sql-map-2.dtd">

<sqlMap namespace="User">
	<cacheModel type="MEMORY" id="userCache">
		<flushOnExecute statement="User.add-user" />
		<!-- <flushOnExecute statement="User.update-user" />
		<flushOnExecute statement="delete" />  -->
		<property name="reference-type" value="WEAK" />
	</cacheModel>

	<typeAlias alias="User" type="com.yourcompany.model.User" />
	<typeAlias alias="Depart" type="com.yourcompany.model.Depart" />

	<resultMap class="Depart" id="fulldepart">
		<result property="id" column="id" javaType="int"
			jdbcType="INTEGER" />
		<result property="name" column="name" javaType="string"
			jdbcType="VARCHAR" />
		<result property="manager" column="manager" javaType="string"
			jdbcType="VARCHAR" />
	</resultMap>
	<resultMap class="User" id="UserDepart">
		<result property="id" column="id" javaType="int"
			jdbcType="INTEGER" />
		<result property="username" column="loginName" javaType="string"
			jdbcType="VARCHAR" />
		<result property="truename" column="trueName" javaType="string"
			jdbcType="VARCHAR" />
		<result property="delflag" column="delflag" javaType="boolean"
			jdbcType="TINYINT" />
		<result property="depart" column="depart" resultMap="fulldepart" jdbcType="INTEGER"/>
	</resultMap>


	<parameterMap class="User" id="minUser">
		<parameter property="username" javaType="string"
			jdbcType="VARCHAR" />
		<parameter property="truename" javaType="string"
			jdbcType="VARCHAR" />
		<parameter property="password" javaType="string"
			jdbcType="VARCHAR" />
		<parameter property="depart" javaType="Depart" jdbcType="int"/>
	</parameterMap>


	<sql id="select-user">SELECT * FROM USERS</sql>
	<sql id="where-uid">WHERE id=#ID:INTEGER#</sql>
	<sql id="where-name">WHERE loginName=#username:VARCHAR#</sql>


	<insert id="add-user" parameterMap="minUser"
		parameterClass="User">
		INSERT INTO onlineexam.users
		(loginName,trueName,password,depart) VALUES(?,?,?,?)
		<selectKey keyProperty="id" resultClass="int">
			SELECT LAST_INSERT_ID()
		</selectKey>
	</insert>
</sqlMap>


现在情况是
<parameter property="depart" javaType="Depart" jdbcType="int"/>
这句这里,我不知道该怎么写才能让ibatis能插入。

另外
<result property="depart" column="depart" resultMap="fulldepart" jdbcType="INTEGER"/>
是否有错?

报错信息
Exception in thread "main" com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in com/yourcompany/model/xml/User.xml. 
--- The error occurred while applying a parameter map. 
--- Check the User.minUser. 
--- Check the parameter mapping for the 'depart' property. 
--- Cause: java.lang.NullPointerException
2009年1月22日 17:40
目前还没有答案

相关推荐

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    常用ibatis配置

    标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...

    ibatis配置文件

    标题:“ibatis配置文件” 描述:“详细的ibatis配置文件,初来乍到,先打个招呼...” 在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是...

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

    ibatis配置文件、映射文件详解

    ### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...

    ibatis用xml配置文件配置使用

    本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

    ibatis配置文件模板

    总结起来,Ibatis配置文件模板是构建Ibatis项目的基础,`SqlMap.properties`提供数据库连接信息,`SqlMapConfig.xml`负责全局配置,而JavaBean的映射文件则定义了数据库操作与Java对象的对应关系。理解并熟练掌握...

    ibatis配置文件自动加载组件

    标题 "ibatis配置文件自动加载组件" 涉及的核心技术是MyBatis的自动配置加载功能,这在开发过程中极大地提高了效率,使得开发者无需每次修改XML映射文件后手动重启服务。MyBatis是一个优秀的Java持久层框架,它简化...

    ibatis配置多表关联(一对一、一对多、多对多

    ibatis配置多表关联(一对一、一对多、多对多

    ibatis相关配置

    ### Ibatis配置详解 1. **全局配置文件(ibatis-config.xml)** 全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml &lt;!DOCTYPE configuration PUBLIC "-/...

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    ibatis_with_memcached

    3. **配置Ibatis**:在Ibatis的配置文件中,定义一个Memcached的Cache实现,指定缓存的ID、超时时间等参数。 4. **创建缓存插件**:编写自定义的Ibatis拦截器,拦截SQL执行,实现数据的缓存和读取。 5. **在Mapper...

    springMVC整合ibatis 配置详细

    3. **配置iBatis**:创建SqlSessionFactoryBean,配置数据源、MyBatis的配置文件路径等。例如: ```xml ``` 4. **定义Mapper接口和XML配置**:在iBatis中,定义Mapper接口,并在XML文件中编写SQL语句。...

    spring和ibatis配置与模板

    spring和ibatis配置与模板

    log4j和ibatis配置文档

    《log4j与iBatis配置详解》 在软件开发中,日志管理和数据库操作是两个至关重要的环节。Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、...

    Spring+iBatis配置[归类].pdf

    【Spring+iBatis配置归类】的文档主要涵盖了Spring框架与iBatis集成的细节,旨在简化数据库访问的代码,并提供统一的异常处理机制。在本文档中,我们将深入探讨Spring如何与iBatis协同工作,包括JavaBean实体、映射...

    ibatis 配置教程 本人通过此文档学会写ibatis实例

    ### ibatis配置教程详解 #### 一、简介与准备工作 ibatis是一款优秀的持久层框架,它简化了数据访问层的繁琐工作,使开发者能够更加专注于业务逻辑的开发。本教程将详细讲解如何配置ibatis环境,并通过实际示例来...

Global site tag (gtag.js) - Google Analytics