ibatis学习1

原创 2012年03月28日 10:58:04

摘《ibatis开发指南》

1.SQL MAP工作原理

将一个对象作为参数,为sql修改语句和查询语句设定参数值

1).执行mapped statement 。sql map框架将创建一个preparedStatement实例,用参数对象为preparedstatement实例设定参数,执行preparedStatement并从resultset中创建结果对象

2).执行sql的更新数据库语句时,返回受影响的数据行数。执行查询语句时,将返回一个结果对象或对象的集合。和参数对象一样,结果对象可以使javabean,map实现和基本数据类型的包装类

 

2.sql map配置文件(包括sqlmapconfig.xml 和sql map映射文件)

1)sqlmapconfig.xml文件

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

<sqlMapConfig>
         <properties resource="sqlmap.properties"/>
          <!--sql map配置文件拥有唯一的<properties>元素 用于在配置文件中使用标准的java属性文件(name=value)
                           这样做后,在属性文件中定义的属性可以作为变量在sql map配置文件及其所包含的所有sql map映射文件中引用。例:
                           属性文件中包含:driver=org.hsqldb.jdbcDriver
                            sql map配置文件及其每个映射文件都可以使用占位符${driver}来代表值org....
                            <property name="JDBC.Driver" value="${driver}"/>
           -->

          <!--
         <typeAlias>元素为一个较长的,全限定类名指定一个较短的别名
                           sql map配置文件预定义了几个JDBC别名等
          -->
        <typeAlias alias="String" type="java.lang.String" />
          <!--为sql map配置事务管理服务  type指定所使用的事务管理器类型
                         jdbc,jta,external
                       jdbc通过常用的connection commit()和rollback()方法,让jdbc管理事务
             -->
         <transactionManager type="JDBC" >
           <!--
                             <datasource>是<transactionManager>的一部分,为sql map数据源设置了一系列参数
             -->
           <dataSource type="SIMPLE">
                                       <property name="JDBC.Driver" value="${jdbc.driverClass}" />  
                                      <property name="JDBC.ConnectionURL" value="${jdbc.url}" /> 
                                      <property name="JDBC.Username" value="${jdbc.username}" />  
                                      <property name="JDBC.Password" value="${jdbc.password}" />  
             </dataSource>

          <!---

                     注:sqlmap.properties内容:

                            jdbc.driverClass=oracle.jdbc.driver.OracleDriver
                            jdbc.url=jdbc:oracle:thin:@oracle服务器ip:1521:unieap
                            jdbc.username=scott
                            jdbc.password=tiger

           -->
           </transactionManager>
          <!--
                  <sqlMap>元素用于用于包括sql map映射文件和其他的sql map配置文件
                   每个sqlmapclient对象使用的所有的sql map映射文件都要在此声明,必需在这里指定
                 所有的sqlmap文件

           -->
           <sqlMap resource="com/zzl/dao/sql/User_tab.xml" />
</sqlMapConfig>

2)sql map映射文件

一个sql map xml映射文件可以包含任意多个mapped statement,parameter map和result map
sqlmap的名称是全局的,所有的sqlmap文件中的名称必须唯一

sql map的核心概念是 mapped statement 。mapped statement可以使用任意的sql语句
并拥有parame map(输入)和result map(输出)

<?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_tab">
            <typeAlias alias="String" type="java.lang.String" />

             <typeAlias alias="user_tab" type="com.zzl.entity.User_tab">

             <!--resultClass和resultMap等具体内容  ibatis学习2将在下一节讲到-->  
            <select id="login" parameterClass="user_tab" resultClass="user_tab">
                       select user_name, user_pwd, user_is_admin from user_tab where user_name=#user_name# and user_pwd=#user_pwd#
            </select>
  </sqlMap>

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ibatis学习笔记(1)--环境搭建和CRUD

1.准备jar包:

ibatis例子(三) iterate 1

前提:目录结构参照ibatis例子(二) 下面4个文件不变 SqlMapConfig.xml log4j.properties t_user.sql User.java ...

ibatis + Spring 多表查询(1)

最近连续的看了一些MySQL存储过程,iBatis多表联合查找的文章。将学习结果汇集成本文。 本文使用的技术和版本如下: ibatis2.3  Spring2.5  MySQL5.0.26  ...

选用Ibatis和Hibernate的区别1

选择hibernate还是选择ibatis,其实都有它的道理,本文分别介绍了两个的特性,并对其自身特点和使用特点做了比较。 AD: hibernate简介 ...

java web中IBATIS的工作原理(1)

这段时间闲来无事重新研究下SSH和SSI的模型,以前写过一篇关于Hibernate对JDBC的封装的文章,这不就再来写一篇Ibatis的。 相对于Hibernate的一站式ORM解决方案而言,Iba...

hibernate ibatis n+1

转载自: 当Hibernate或Ibatis在处理一对多的时候都存在n+1问题。  创建数据库  ACCOUNT 表  ACCOUNT_ID 1 2 ...

各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernate+Java EE+Oracle)

原文出处:http://space.itpub.net/6517/viewspace-609654 1.Spring架构图  Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。...

struts1.x+ibatis+spring配置整合

SSH想必为大家所熟悉,其应用也相当之广泛;SSI其实也是一种很好的组合,应用与小中型系统,且简单快捷,下面就说一下struts+spring+ibatis的配置 web.xml ...

IBatis(1)——总体概述

IBatis是持久层的框架,也就是我们说的Dao层框架,关注数据库操作以及和Java对象之间的关联,我们将这样的框架也称之为ORM(Object/Relaction Mapping)框架.而这里映射的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)