zoukankan      html  css  js  c++  java
  • ibatis resultMap 结果集映射

    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

      

  • 相关阅读:
    单例模式的几种写法 总结
    TCP的三次握手与四次挥手总结(详解+动图) 面试准备
    向mysql插入表中的中文显示为乱码或问号的解决方法,亲测有用!!
    再论红黑树
    jQuery插件机制
    jQuery高级案例
    jQuery事件绑定与切换
    jQuery动画和遍历
    jQuery基础案例
    DOM操作
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5332796.html
Copyright © 2011-2022 走看看