1、结果集映射

  就是将返回的记录,逐个字段映射到java对象上;如果数据库字段与java对象的成员变量名对应的话,则使用resultClas即可

2、实现

  结合 ibatis初探这篇文章中提到的project 修改以下文件:

  

<?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>
<typeAlias alias = "user" type = "com.jiexun.User" /> <resultMap class="user" id="dbUser">
<!--property值 是类的成员名,column 是数据库字段名 -->
<result property="userId" column="id" jdbcType="int" />
<result property="userName" column="name" jdbcType="varchar" />
</resultMap> <select id="getUser" parameterClass = "int" resultMap="dbUser">
select * from user where user.id = #id#
</select> <!-- 对象传参 user的属性中有id name 成员变量 -->
<insert id="addUser" parameterClass="user">
insert into user values(#id#,#name#)
</insert> <!-- Map传参 -->
<insert id="addUser2" parameterClass="java.util.HashMap">
insert into user values(#id#,#name#)
</insert>
</sqlMap>

user.xml

user类主要是修改了成员名,以便有鲜明的对比

package com.jiexun;

public class User {
public int userId;
public String userName;
public int getId() {
return userId;
}
public void setId(int id) {
this.userId = id;
}
public String getName() {
return userName;
}
public void setName(String name) {
this.userName = name;
}
}

com.jiexun.User

import java.io.Reader;
import java.util.HashMap;
import java.util.List; import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.jiexun.User; public class testIbatis { /**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
int id = 1002;
User newUser = new User();
newUser.setId(1001);
newUser.setName("LS"); String config = "com/jiexun/xml/ibatis.xml";
Reader reader = Resources.getResourceAsReader(config);
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
//对象传参 插入
// Object obj = sqlMap.insert("addUser",newUser);
// System.out.println("插入新用户返回值:" + obj);
//
// //Map传参 插入
// HashMap paraMap = new HashMap<String, Object>();
// paraMap.put("id", "1002");
// paraMap.put("name", "WWN");
// Object obj2 =sqlMap.insert("addUser2",paraMap); //查询
List<User> list = (List<User>)sqlMap.queryForList("getUser",id);
System.out.println("执行select完毕");
for (User user : list) {
System.out.println(user.userId + ": " + user.userName);
} } }

testIbatis

  

ibatis resultMap 结果集映射的更多相关文章

  1. resultMap结果集映射解决属性名和字段不一致问题

    解决属性名和字段名不一致的问题 1.出现的问题 数据库中的字段 ​ 新建一个项目,拷贝之前的,测试实体类与数据库字段不一致的情况 public class User { private int id; ...

  2. Mybatis学习笔记-ResultMap结果集映射

    解决属性名与字段名不一致的问题 新建项目 --> 测试实体类字段不一致的情况 数据库字段:id,name,pwd 实体类属性:id,name,password 输出结果 User{id=1, n ...

  3. ibatis resultMap 的用法

    先看个具体的例子: <resultMap id=”get-product-result” class=”com.ibatis.example.Product”> <result pr ...

  4. resultMap结果集映射

    resultMap结果集是用来定义sql查询的结果与java对象的映射关系.它主要解决2大问题: 1)可以解决POJO属性名和表结构的字段名不一致问题(甚至是 不是标准的驼峰命名法) 2)可以完成高级 ...

  5. iBatis resultMap报错 nullValue完美解决

    http://blog.csdn.net/liguohuaty/article/details/4038437

  6. resultMap,日志,分页

    问题:属性名和字段名不一致 解决方法 起别名 select id, username, password as pwd from db4.user resultMap结果集映射 id username ...

  7. mybatis 3.x源码深度解析与最佳实践(最完整原创)

    mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...

  8. java web(六):mybatis之一对一、一对多、多对多映射

    前言: 百度百科: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可 ...

  9. Mybatis基础-完整CRUD操作

    步骤一:mybatis基本配置 1)创建Java项目,在lib下导入mybatis所需要的Jar包,包括链接mysql的mysql-connector-java-5.1.7-bin.jar. 2)在s ...

随机推荐

  1. 《JS权威指南学习总结--8.8.3 不完全函数》

    内容要点: 本节讨论的是一种函数变换技巧,即把一次完整的函数调用拆成多次函数调用,每次传入的实参都是完整实参的一部分,每个拆分开的函数叫做不完全函数(partial function),每次函数调用叫 ...

  2. HDU 1241Oil Deposits (DFS)

    Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground ...

  3. 如何提升 CSS 选择器性能

    CSS 选择器性能损耗来自? CSS选择器对性能的影响源于浏览器匹配选择器和文档元素时所消耗的时间,所以优化选择器的原则是应尽量避免使用消耗更多匹配时间的选择器.而在这之前我们需要了解CSS选择器匹配 ...

  4. jQuery 学习小结

    1,jQuery是一个简单的JavaScript库,提供了一系列辅助函数:以下简称jq; 使用jq时,通常将jq代码放到head部分的事件处理方法中,也可以将其单独写出 .js 文件,引入:但无论哪种 ...

  5. JS 之完美运动框架

    完美运动框架是对原来的任意值运动框架的改善和效率的提升,即利用了json对属性进行封装,从而提高效率: window.onload=function(){ var oDiv=document.getE ...

  6. 安装asterisk

    在centos6.5上: yum -y install lynx mysql-server mysql mysql-devel php php-mysql php-mbstring tftp-serv ...

  7. NOIP2005-普及组复赛-第一题-陶陶摘苹果

    题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳 ...

  8. CSS的标签类型

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. CodeForces 567C Geometric Progression 类似dp的递推统计方案数

    input n,k 1<=n,k<=200000 a1 a2 ... an 1<=ai<=1e9 output 数组中选三个数,且三个数的下标严格递增,凑成形如b,b*k,b* ...

  10. jsp标签简介

    一.jsp标签简介 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. jsp的常用标签有 ...