`
jetway
  • 浏览: 483846 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

iBatis学习

    博客分类:
  • java
阅读更多
tis学习小结
关键字: iBATIS       

sqlMap文件

代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE sqlMap         
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"         
  4.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  5. <sqlMap namespace="Account">  
  6.   <typeAlias alias="Account" type="test.Account"/>  
  7.   <!--列表查询,返回Account Object的List-->    
  8.   <resultMap id="AccountResult" class="Account">  
  9.     <result property="id" column="ID"/>  
  10.     <result property="firstName" column="FIRST_NAME"/>  
  11.     <result property="lastName" column="LAST_NAME"/>  
  12.     <result property="emailAddress" column="EMAIL"/>  
  13.   </resultMap>     
  14.   <select id="selectAllAccounts" resultMap="AccountResult">  
  15.     select * from ACCOUNT   
  16.   </select>  
  17.      
  18.   <!--列表查询,返回HashMap的List-->       
  19.   <resultMap id="mapResult" class="java.util.HashMap">  
  20.     <result property="roleid" column="ROLEID"/>  
  21.     <result property="rolename" column="ROLENAME"/>  
  22.     <result property="id" column="ID"/>  
  23.     <result property="firstName" column="FIRST_NAME"/>  
  24.     <result property="lastName" column="LAST_NAME"/>  
  25.     <result property="emailAddress" column="EMAIL"/>  
  26.     <result property="dt" column="DT"/>  
  27.   </resultMap>  
  28.   <select id="selectAllAccountsWithMap" resultMap="mapResult">  
  29.         select B.ROLEID, B.ROLENAME, A.ID, A.FIRST_NAME,A.LAST_NAME,A.EMAIL,A.DT   
  30.         from ACCOUNT A left outer join ROLE B   on A.ROLEID = B.ROLEID   
  31.         ORDER BY A.ID DESC   
  32.   </select>  
  33.      
  34.   <!--关联查询,返回Account Object的List-->  
  35.   <resultMap id="AccountResultWithRole" class="Account" groupBy="id">  
  36.     <result property="id" column="ID"/>  
  37.     <result property="firstName" column="FIRST_NAME"/>  
  38.     <result property="lastName" column="LAST_NAME"/>  
  39.     <result property="emailAddress" column="EMAIL"/>       
  40.     <result property="role" resultMap="Account.roleResult"/>  
  41.   </resultMap>  
  42.   <resultMap id="roleResult" class="test.Role">  
  43.     <result property="roleid" column="ROLEID"/>  
  44.     <result property="rolename" column="ROLENAME"/>  
  45.   </resultMap>  
  46.   <select id="selectAccountByIdWithRole" parameterClass="int" resultMap="AccountResultWithRole">  
  47.         select B.ROLEID, B.ROLENAME, A.ID, A.FIRST_NAME,A.LAST_NAME,A.EMAIL   
  48.         from ACCOUNT A   
  49.         left outer join ROLE B   
  50.         on A.ROLEID = B.ROLEID   
  51.         where A.ID = #id#   
  52.   </select>  
  53.      
  54.   <!--查询-->    
  55.   <select id="selectAccountById" parameterClass="int" resultClass="Account">  
  56.     select   
  57.       ID as id,   
  58.       FIRST_NAME as firstName,   
  59.       LAST_NAME as lastName,   
  60.       EMAIL as emailAddress   
  61.     from ACCOUNT   
  62.     where ID = #id#   
  63.   </select>  
  64.      
  65.   <!--新增-->      
  66.   <insert id="insertAccount" parameterClass="Account">  
  67.     insert into ACCOUNT (   
  68.       FIRST_NAME,   
  69.       LAST_NAME,   
  70.       EMAIL,   
  71.       PID,   
  72.       DT   
  73.     )     
  74.     values (   
  75.       #firstName:VARCHAR#, #lastName:VARCHAR#, #emailAddress:VARCHAR#,#pid:INTEGER:0#,#dt:TIME#   
  76.     )   
  77.     <selectKey resultClass="int" type="post" keyProperty="id">  
  78.         SELECT @@IDENTITY AS ID   
  79.     </selectKey>       
  80.   </insert>  
  81.      
  82.   <!--更新-->    
  83.   <update id="updateAccount" parameterClass="Account">  
  84.     update ACCOUNT set   
  85.       FIRST_NAME = #firstName:VARCHAR#,   
  86.       LAST_NAME = #lastName:VARCHAR#,   
  87.       EMAIL = #emailAddress:VARCHAR#   
  88.     where   
  89.       ID = #id#   
  90.   </update>  
  91.   
  92.   <!--删除-->  
  93.   <delete id="deleteAccountById" parameterClass="int">  
  94.     delete from ACCOUNT where ID = #id#   
  95.   </delete>  
  96.      
  97.   <!--存储过程,如果没有返回列表,procTest的resultMap可以省略-->      
  98.   <parameterMap id="procParamMap" class="java.util.HashMap" >  
  99.     <parameter property="id" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>  
  100.     <parameter property="outid" jdbcType="INTEGER" javaType="java.lang.Integer" mode="OUT"/>  
  101.     <parameter property="errMsg" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/>  
  102.   </parameterMap>  
  103.   <resultMap id="procResultMap" class="java.util.HashMap" >  
  104.     <result property="a" column="AAA"/>  
  105.     <result property="b" column="BBB"/>  
  106.     <result property="c" column="CCC"/>       
  107.   </resultMap>     
  108.   <procedure id="procTest" parameterMap="procParamMap" resultMap="procResultMap">  
  109.     {call test_sp_1 (?,?,?)}   
  110.   </procedure>  
  111. </sqlMap>  
<script>render_code();</script>

 

java 代码

代码
  1. public class TestDao extends SqlMapClientDaoSupport {   
  2.     public List selectAllAccounts() throws SQLException {   
  3.         return getSqlMapClientTemplate().queryForList("selectAllAccounts");   
  4.     }   
  5.   
  6.     public List selectAllAccountsWithMap() throws SQLException {   
  7.         return getSqlMapClientTemplate().queryForList(   
  8.                 "selectAllAccountsWithMap");   
  9.     }      
  10.        
  11.     public Account selectAccountById(int id) throws SQLException {   
  12.         return (Account) getSqlMapClientTemplate().queryForObject(   
  13.                 "selectAccountById"new Integer(id));   
  14.     }   
  15.     public List procTest(Map params) throws Exception {   
  16.         List ret = (List) getSqlMapClientTemplate().queryForList("procTest",params);   
  17.         return ret;   
  18.     }   
  19.     public Account selectAccountByIdWithRole(int id) throws SQLException {   
  20.         return (Account) getSqlMapClientTemplate().queryForObject(   
  21.                 "selectAccountByIdWithRole"new Integer(id));   
  22.     }      
  23.        
  24.     public void insertAccount(Account account) throws SQLException {   
  25.         getSqlMapClientTemplate().insert("insertAccount", account);   
  26.     }   
  27.   
  28.     public int updateAccount(Account account) throws SQLException {   
  29.         return getSqlMapClientTemplate().update("updateAccount", account);   
  30.     }   
  31.   
  32.     public int deleteAccount(int id) throws SQLException {   
  33.         return getSqlMapClientTemplate().delete("deleteAccountById"new Integer(id));   
  34.     }   
  35. }  
<script>render_code();</script>

 

SqlServer存储过程

代码
  1. CREATE procedure test_sp_1 @id int,@outid int output,@errMsg varchar(255) output   
  2.   
  3. AS   
  4.   
  5. update ACCOUNT set pid=@id  
  6. select @outid=isnull(@id,0)+1  
  7. select @errMsg='测试'   
  8. select AAA='AAAAAAA',BBB='BBBBBBB',CCC='CCCCCCC'   
  9. GO  
<script>render_code();</script>

 

分享到:
评论

相关推荐

    ibatis学习

    标题 "ibatis学习" 暗示我们即将探讨的是关于Ibatis,一个著名的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,以实现灵活的数据访问。Ibatis提供了简单易用的API,使得数据库操作与业务逻辑解耦,提高...

    ibatis学习资料汇总

    《iBatis学习资料汇总》 iBatis,作为一个轻量级的持久层框架,它在Java开发领域中扮演着重要的角色。这个框架允许开发者将SQL语句与Java代码分离,提高了开发效率并降低了维护成本。本文将深入探讨iBatis的核心...

    IBatis学习

    IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习

    ibatis学习锦集

    标题"ibatis学习锦集"表明这是一个关于iBatis学习资源的集合,涵盖了多种学习材料,可能包括文档、示例代码、教程等。描述中提到"很全面!很强大!IBATIS最新最全开发指南 - 通俗易懂IBATIS教程,ibatis基础,ibatis...

    ibatis学习IBATIS好资料

    标题 "ibatis学习IBATIS好资料" 涉及的核心知识点是关于iBATIS,一个流行的开源Java持久层框架,它将SQL映射到Java对象,实现了数据访问层(DAL)的简化。这个资源包提供了对iBATIS深入学习的各种材料,包括jar包和...

    ibatis学习笔记.txt

    ### iBatis 学习笔记知识点总结 #### 一、iBatis 概念与特点 **1.1 iBatis 定义** - **iBatis** 是一个基于 Java 的开源持久层框架,它专注于 SQL 映射,提供了一种将对象与数据库交互过程中的 SQL 语句进行分离的...

    ibatis学习资料大全

    2. **Ibatis学习指南**:这可能是中文版的学习资料,针对初学者提供了详尽的入门教程和进阶指南。学习指南通常会涵盖Ibatis的基本概念,如SqlMapConfig.xml配置文件、Mapper接口的使用、SqlSession的操作,以及...

    ibatis学习小例子

    标题 "ibatis学习小例子" 暗示我们即将探讨的是关于Ibatis,一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化了数据库操作。Ibatis提供了灵活的映射机制,避免了对JDBC的繁琐处理...

    ibatis学习总结

    【ibatis学习总结】 在Java应用中,ORM(对象关系映射)框架是连接数据库与业务逻辑的关键。相比像Hibernate和Apache OJB这样的"一站式"ORM解决方案,iBATIS提供了一种更为灵活的"半自动化"策略。iBATIS允许开发者...

    IBatis学习笔记以及使用心得

    IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得

    ibatis学习资料及个人学习笔记,对初学者很有用

    【ibatis学习资料及个人学习笔记】 Ibatis,作为一个轻量级的持久层框架,它在Java开发领域中占有重要地位。本资料包是针对Ibatis的学习资源集合,旨在帮助初学者快速掌握这一强大的数据库操作工具。Ibatis的核心...

    ibatis学习时的项目

    【标题】"ibatis学习时的项目"是一个基于Java的Web项目,主要目的是为了学习和实践iBatis这个持久层框架。iBatis是MyBatis的前身,它提供了一个SQL映射框架,使得开发者可以将SQL语句直接写在XML配置文件中,实现了...

    ibatis学习笔记(一)

    这篇“ibatis学习笔记(一)”可能是博主对Ibatis基础概念、安装配置以及基本使用的介绍,让我们通过标签“源码”和“工具”来深入探讨Ibatis的相关知识。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架...

    ibatis 学习小结笔记

    ### ibatis 学习小结笔记 #### 一、ibatis 概述 ibatis 是一个基于 Java 的持久层框架,它提供了一种简便的方式来处理关系型数据库与 Java 对象之间的映射(O/R Mapping)。ibatis 在设计上强调的是 SQL 语句的...

    关于ibatis学习入门的小实例

    本教程“关于ibatis学习入门的小实例”旨在帮助初学者快速理解并掌握Ibatis的基本用法和核心概念。以下是一些关键知识点的详细介绍: 1. **配置文件**:Ibatis的配置文件(myibatis-config.xml)是整个系统的入口,...

    ibatis 学习资料

    这份学习资料旨在为初学者和有经验的开发者提供全面的iBatis学习资源。通过这些资料,你可以了解到如何在项目中有效地利用iBatis进行数据库操作,包括但不限于SQL映射、动态SQL、事务管理以及对象关系映射等关键概念...

    ibatis学习质料有详细的增删改查的实例

    【Ibatis 学习资源详解】 Ibatis 是一个优秀的持久层框架,它允许开发者将 SQL 语句直接写在配置文件中,与 Java 代码分离,使得 SQL 语句的编写和维护更加方便。本学习资料针对 Ibatis 的基本操作,包括增、删、改...

    Ibatis学习指南,适合于初学者参考

    本指南是为初学者设计的,旨在提供一个简洁明了的Ibatis学习路径。 一、Ibatis简介 Ibatis的核心理念是将SQL语句和业务逻辑分离,这样可以使得代码更易于维护和扩展。它避免了JDBC的繁琐过程,如建立和关闭连接、预...

    ibatis学习文档

    本文旨在深入解析iBATIS映射文件的基础概念及其重要性,为初学者构建一个清晰的学习路径。 ### iBATIS映射文件:核心中的核心 iBATIS映射文件(Data Map XML File)是iBATIS框架的灵魂所在,它允许开发者明确地...

Global site tag (gtag.js) - Google Analytics