`
GH0769
  • 浏览: 78367 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

ibatis学习(1)

    博客分类:
  • Web
阅读更多

1、java bean:

public class Account
{
    private int id;
    private String firstName;
    private String lastName;
    private String emailAddress;

}get set 略。

2、与java bean相匹配的xml配置文件:

<?xml version="1.0" encoding="UTF-8" ?>

//dtd
<!DOCTYPE sqlMap     
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"     
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Account">
    <typeAlias alias="Account" type="com.data.Account" />//别名
    <resultMap id="AccountResult" class="Account">//javabean与数据库字段的映射
        <result property="id" column="ACC_ID" />
        <result property="firstName" column="ACC_FIRST_NAME" />
        <result property="lastName" column="ACC_LAST_NAME" />
        <result property="emailAddress" column="ACC_EMAIL" />
    </resultMap>


    <select id="selectAllAccounts" resultMap="AccountResult">//选择
        select * from ACCOUNT
    </select>
    <select id="selectAccountById" parameterClass="int"
        resultClass="Account">//选择
        select ACC_ID as id, ACC_FIRST_NAME as firstName, ACC_LAST_NAME
        as lastName, ACC_EMAIL as emailAddress from ACCOUNT where ACC_ID
        = #id#
    </select>
    <insert id="insertAccount" parameterClass="Account">//更新
        insert into ACCOUNT ( ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME,
        ACC_EMAIL) values ( #id#, #firstName#, #lastName#, #emailAddress#)
    </insert>
    <update id="updateAccount" parameterClass="Account">
        update ACCOUNT set ACC_FIRST_NAME = #firstName#, ACC_LAST_NAME =
        #lastName#, ACC_EMAIL = #emailAddress# where ACC_ID = #id#
    </update>
    <delete id="deleteAccountById" parameterClass="int">//删除
        delete from ACCOUNT where ACC_ID = #id#
    </delete>
</sqlMap>

 

3、配置文件,主要是配置数据源,以及映射文件,

<!DOCTYPE sqlMapConfig     
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"     
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>

通过传统JDBC Connection.commit/rollback实现事务支持。
    <transactionManager type="JDBC" commitRequired="false">

SIMPLE是ibatis内置的dataSource实现, 其中实现了一个简单的数 据库 连 接 池 机制 ,对 应 ibatis 实 现 类 为com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory

DBCP:   基于 Apache  DBCP 连接池组件实现的 DataSource 封装,当无容器提供 DataSource 服务时,建议使用该选项,对应 ibatis 实现类为com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。JNDI:
使用 J2EE 容器提供的 DataSource 实现,DataSource 将通过指定的 JNDI  Name 从 容器 中 获取 。对 应 ibatis 实 现 类 为com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。

        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="com.ddtek.jdbc.sqlserver.SQLServerDriver" />
            <property name="JDBC.ConnectionURL" value="jdbc:datadirect:sqlserver://localhost:1433;databaseName =a" />//该处由于使用了其他的jdbc连接,所以需要多了一个databaseName=a来连接一个数据库
            <property name="JDBC.Username" value="sa" />
            <property name="JDBC.Password" value="ss" />

 

 <property name="Pool.MaximumActiveConnections" value="10"/>
      <property  name="Pool.MaximumIdleConnections"  value="5"/>
      <property name="Pool.MaximumCheckoutTime" value="120000"/>
      <property name="Pool.TimeToWait" value="500"/>
      <property name="Pool.PingQuery" value="select 1 from ACCOUNT"/>
      <property name="Pool.PingEnabled" value="false"/>
      <property name="Pool.PingConnectionsOlderThan" value="1"/>
      <property name="Pool.PingConnectionsNotUsedFor" value="1"/>


        </dataSource>
    </transactionManager>
    <sqlMap resource="com/data/Account.xml" />//加载映射文件
</sqlMapConfig>

 

4、编写测试用例

读取配置文件
            Reader reader = Resources.getResourceAsReader("com/data/SqlMapConfig.xml");
            sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
            reader.close();

XmlSqlMapClientBuilder是ibatis  2.0之后版本新引入的组件,用以替代1.x
版本中的XmlSqlMapBuilder。其作用是根据配置文件创建SqlMapClient实例

 

sqlMapper.queryForList("selectAllAccounts");

sqlMapper.queryForObject("selectAccountById", id);

sqlMapper.insert("insertAccount", account);

sqlMapper.update("updateAccount", account);

sqlMapper.delete("deleteAccount", id);

 

 

 

配置文件:

 <settings
    cacheModelsEnabled="true"     
    enhancementEnabled="true"     
    lazyLoadingEnabled="true"     
    errorTracingEnabled="true"     
    maxRequests="32"         
    maxSessions="10"         
    maxTransactions="5"         
    useStatementNamespaces="false"  
    />

 

 <![CDATA[……]]>

 

XmlSqlMapClientBuilder xmlBuilder = 
new XmlSqlMapClientBuilder();
SqlMapClient sqlMap = xmlBuilder.buildSqlMap(reader);

 

sqlMap.startTransaction();

 

分享到:
评论

相关推荐

    IBatis学习

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

    ibatis学习资料汇总

    ibatis开发指南 ibatis资料文档 ibatis2.x_jar包 ibatis源码 ibatis实践项目

    ibatis 学习笔记

    ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记

    ibatis学习总结,oracle , 敏捷开发,

    ibatis学习总结,oracle 学习总结,大数据量处理

    ibatis总结 ibatis ibatis ibatis ibatis

    ibatis学习 ibatis总结 ibatis ibatis ibatis

    J2EE学习 Ibatis开发资料共享 Ibatis开发资料 Ibatis学习框架 Ibatis开发概要

    J2EE学习 Ibatis开发资料共享 Ibatis开发资料 Ibatis学习框架 Ibatis开发概要

    iBATIS入门学习

    iBATIS入门学习

    ibatis 学习资料 spring

    ibatis 学习资料 spring ibatis 学习资料 spring ibatis 学习资料 spring

    ibatis学习

    IbatisDemo 博文链接:https://xdjava.iteye.com/blog/1070408

    iBatis2学习笔记

    1.iBatis2学习笔记:基本原理和配置.doc 2.iBatis2学习笔记:与Spring2的整合.doc 3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc ...

    ibatis学习资料

    ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料ibatis学习资料

    IBatis学习笔记以及使用心得

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

    Ibatis.net学习和实例~

    Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例

    ibatis学习总结

    相对于Hibernate和Apache OJB等“一站式”ORM解决方案而言,IBatis是一种“半...它需要学习的东西很少,在连接表或复杂查询时也不需要复杂的scheme(怎么翻complex scheme?),使用SQL Maps, 你可以自由的使用SQL语句。

    持久层框架ibatis学习笔记

    这篇iBatis 学习笔记是跟着传智播客的视频学习整理的,理解上难免有些错误,请以视频为 根本,有些地方笔记中没有整理到,因为这是我之后看着自己做的工程项目总结的,和视频 不完全一致。请谅解。

    Ibatis 学习资料

    Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料Ibatis 学习资料

    ibatis学习笔记

    ibatis学习笔记ibatis学习笔记ibatis学习笔记ibatis学习笔记ibatis学习笔记

    ibatis学习文档

    ibatis的简介和操作,是初学者的不二选择,讲解清晰明了

    关于ibatis 学习的文档(从百度文库搞过来的,斟酌)!

    从网上找了一点关于ibatis的学习资料,作为保存,有兴趣的朋友用的上的直接下了!

Global site tag (gtag.js) - Google Analytics