`
starbhhc
  • 浏览: 660785 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

iBatis-获得对象列表

阅读更多
File: Account.java   
  
  
public class Account {   
  
  private int id;   
  private String firstName;   
  private String lastName;   
  private String emailAddress;   
  
  public int getId() {   
    return id;   
  }   
  
  public void setId(int id) {   
    this.id = id;   
  }   
  
  public String getFirstName() {   
    return firstName;   
  }   
  
  public void setFirstName(String firstName) {   
    this.firstName = firstName;   
  }   
  
  public String getLastName() {   
    return lastName;   
  }   
  
  public void setLastName(String lastName) {   
    this.lastName = lastName;   
  }   
  
  public String getEmailAddress() {   
    return emailAddress;   
  }   
  
  public void setEmailAddress(String emailAddress) {   
    this.emailAddress = emailAddress;   
  }   
  
}   
  
  
File: Account.xml   
  
<?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="Account">   
  
  <!-- Use type aliases to avoid typing the full classname every time. -->   
  <typeAlias alias="Account" type="Account"/>   
  
  <!-- Result maps describe the mapping between the columns returned   
       from a query, and the class properties.  A result map isn't   
       necessary if the columns (or aliases) match to the properties    
       exactly. -->   
  <resultMap id="AccountResult" class="Account">   
    <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 with no parameters using the result map for Account class. -->   
  <select id="selectAllAccounts" resultMap="AccountResult">   
    select * from ACCOUNT   
  </select>   
  
  <!-- A simpler select example without the result map.  Note the    
       aliases to match the properties of the target result class. -->   
  <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 example, using the Account parameter class -->   
  <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 example, using the Account parameter class -->   
  <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 example, using an integer as the parameter class -->   
  <delete id="deleteAccountById" parameterClass="int">   
    delete from ACCOUNT where ACC_ID = #id#   
  </delete>   
  
</sqlMap>   
  
File: 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>   
  
  <!-- Configure a built-in transaction manager.  If you're using an    
       app server, you probably want to use its transaction manager    
       and a managed datasource -->   
  <transactionManager type="JDBC" commitRequired="false">   
    <dataSource type="SIMPLE">   
      <property name="JDBC.Driver" value="org.hsqldb.jdbcDriver"/>   
      <property name="JDBC.ConnectionURL" value="jdbc:hsqldb:data/tutorial"/>   
      <property name="JDBC.Username" value="sa"/>   
      <property name="JDBC.Password" value=""/>   
    </dataSource>   
  </transactionManager>   
  
  <!-- List the SQL Map XML files. They can be loaded from the    
       classpath, as they are here (com.domain.data...) -->   
  <sqlMap resource="Account.xml"/>   
  <!-- List more here...   
  <sqlMap resource="com/mydomain/data/Order.xml"/>   
  <sqlMap resource="com/mydomain/data/Documents.xml"/>   
  -->   
  
</sqlMapConfig>   
  
  
File: Main.java   
  
import java.util.List;   
  
import com.ibatis.sqlmap.client.SqlMapClient;   
  
public class Main{   
     
  public static void main(String[] a) throws Exception{   
    Util util = new Util();   
    util.executeSQLCommand("create table ACCOUNT(ACC_ID int, ACC_FIRST_NAME varchar,ACC_LAST_NAME varchar,ACC_EMAIL varchar);");   
       
    SqlMapClient sqlMapper = util.getSqlMapClient();   
       
       
       
    Account account  = new Account();   
    account.setId(1);   
    account.setEmailAddress("e");   
    account.setFirstName("first");   
    account.setLastName("last");   
       
    sqlMapper.insert("insertAccount", account);   
  
    util.checkData("select * from account");   
  
  
    List list =  sqlMapper.queryForList("selectAllAccounts");   
       
       
  }   
     
}   
  
File: Util.java   
  
import java.io.Reader;   
import java.sql.Connection;   
import java.sql.DriverManager;   
import java.sql.ResultSet;   
import java.sql.ResultSetMetaData;   
import java.sql.Statement;   
  
import com.ibatis.common.resources.Resources;   
import com.ibatis.sqlmap.client.SqlMapClient;   
import com.ibatis.sqlmap.client.SqlMapClientBuilder;   
  
public class Util {   
  Statement st;   
     
  public Util() throws Exception{   
    // Load the JDBC driver.   
    Class.forName("org.hsqldb.jdbcDriver");   
    System.out.println("Driver Loaded.");   
    // Establish the connection to the database.   
    String url = "jdbc:hsqldb:data/tutorial";   
  
    Connection conn = DriverManager.getConnection(url, "sa", "");   
    System.out.println("Got Connection.");   
    st = conn.createStatement();   
  }   
  public SqlMapClient getSqlMapClient() throws Exception{   
    Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");   
    SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);   
    reader.close();    
    return sqlMapper;   
  }   
  public void executeSQLCommand(String sql) throws Exception {   
    st.executeUpdate(sql);   
  }   
  public void checkData(String sql) throws Exception {   
    ResultSet rs = st.executeQuery(sql);   
    ResultSetMetaData metadata = rs.getMetaData();   
  
    for (int i = 0; i < metadata.getColumnCount(); i++) {   
      System.out.print("\t"+ metadata.getColumnLabel(i + 1));    
    }   
    System.out.println("\n----------------------------------");   
  
    while (rs.next()) {   
      for (int i = 0; i < metadata.getColumnCount(); i++) {   
        Object value = rs.getObject(i + 1);   
        if (value == null) {   
          System.out.print("\t       ");   
        } else {   
          System.out.print("\t"+value.toString().trim());   
        }   
      }   
      System.out.println("");   
    }   
  }   
  
  
}   
分享到:
评论

相关推荐

    iBATIS-SqlMaps2入门代码文档

    然而,在设计数据库和对象模型时,仍建议遵循最佳实践以获得更好的性能和更清晰的设计。 - **开始设计**:设计通常从分析应用的业务逻辑入手,明确业务对象、数据模型及其之间的关系。例如,本教程中使用了一个简单...

    ibatis-2.3.4.726-src-源代码

    iBatis,作为一款轻量级的Java持久层框架,以其灵活、高效的特点,在许多项目中得到了广泛应用。本文将针对iBatis 2.3.4.726版本的源代码进行详尽解读,帮助开发者深入了解其内部机制,提升开发与调试能力。 1. **...

    ibatis-2.3.4.726.jar

    iBATIS,作为Java开发中的一个著名持久层框架,由Clinton Begin在2001年创建,其名称融合了“Internet”和“Abatis”,起初是致力于密码软件的开发,随着时间的发展,它逐渐演变为专注于数据库操作的工具,并在开源...

    iBATIS-SqlMaps开发指南

    SqlMap是iBATIS的核心组件,它是一个XML配置文件,用于定义数据库操作(如增删改查)与Java对象之间的映射关系。SqlMap通过动态SQL生成合适的SQL语句,并将结果映射到Java对象,避免了手动编写大量的DAO(Data ...

    iBATIS-3-User-Guide.pdf

    - iBATIS 不像其他 ORM(对象关系映射)框架那样完全将 SQL 语句封装在框架内部,而是允许开发者直接编写 SQL 语句,并提供了灵活的参数映射和结果集映射机制。 #### 二、开始使用 iBATIS - **构建 ...

    ibatis-2.3.0.677.jar.zip

    iBatis并非ORM(对象关系映射)框架,而是一种SQL映射框架,它允许开发者将SQL语句直接写在XML配置文件中,解决了JDBC代码冗长、难以维护的问题。在2.3.0.677版本中,iBatis提供了一种更加优雅的方式将业务逻辑与...

    ibatis-2.3.0.677

    iBatis,作为一款轻量级的Java持久层框架,以其灵活、高效的特点,在许多项目中得到了广泛应用。本文将针对iBatis 2.3.0.677版本的源码进行深入剖析,旨在帮助开发者更好地理解和运用这一强大的数据访问工具。 首先...

    iBATIS-3用户手册(英文版)

    - **获取 SqlSession**:通过 `SqlSessionFactory.openSession()` 方法可以获得 `SqlSession` 对象。`SqlSession` 提供了执行 SQL 命令的能力,并管理这些命令的执行上下文。 - **示例**: ```java ...

    经典开源插件之ibatis

    - **性能敏感的应用**:在某些高性能要求的应用场景下,ibatis的高效性得到了很好的体现。 通过上述知识点的介绍,我们可以看到ibatis作为一款经典的开源插件,在数据库操作方面具有独特的优势,尤其是在那些需要...

    一个struts1.2+ibatis+gt_Grid的集成实现

    GT_Grid在前端显示由iBatis查询得到的数据,它提供了丰富的功能,如排序、分页、过滤等,提高了数据的可操作性。GT_Grid可能需要与Struts1.2的ActionSupport或ActionForm类配合,通过HTTP响应返回JSON或XML格式的...

    ibatis jar

    在业务代码中,通过SqlSession调用这个方法,即可得到查询结果并转换为User对象。 总结,iBatis以其简单易用、灵活高效的特点,成为Java持久层框架的热门选择。通过对ibatis-2.3.0.677.jar的深入了解,开发者可以更...

    iBATIS 三个版对比

    执行对象的变更反映了iBATIS在不同版本中对于对象模型的设计理念的变化。 - **得到执行:** - **iBATIS v1**:通过`XMLSqlMapBuilder`构建`SqlMap`对象。 - **iBATIS v2**:使用`SqlMapClientBuilder`构建`...

    ibatis mysql jar

    Ibatis-2.3.0.677是Ibatis的一个较早版本,它提供了一种不同于传统的Hibernate等ORM(对象关系映射)框架的解决方案。Ibatis的核心思想是SQL Map,它允许开发者直接编写SQL语句,然后将这些SQL语句与Java代码集成,...

    ibatis扩展包

    【标题】"ibatis扩展包"涉及的核心技术是iBatis,这是一款开源的Java持久层框架,它允许开发者将SQL映射到Java代码中,实现了数据库操作与业务逻辑的解耦,提高了开发效率和代码的可维护性。扩展包"ibatis-2.3.0.677...

    ibatis2.3 jar (ibatis pdf 教程)

    在Ibatis 2.3版本中,这个理念得到了充分的体现。这个压缩包包含的是Ibatis 2.3.4.726的jar包以及相关的PDF教程,对于学习和使用Ibatis 2.3具有重要的参考价值。 **Ibatis-2.3.4.726.jar** 是Ibatis 2.3的核心库...

    IBATIS_IN_ACTION

    iBATIS的核心功能包括执行SQL语句、获取结果集并将其转换为Java对象,以及管理事务。它的设计思想是减少代码量,提高开发效率,同时保持对底层SQL语句的完全控制,适合于那些希望保留SQL灵活性的高级用户。 ### ...

    iBatis详细使用手册(.net版)

    iBatis.Net提供了灵活的数据访问层解决方案,它允许开发者手动编写SQL语句以获得更好的性能,同时通过映射文件减少了重复代码。通过集成日志记录框架和使用其API,可以简化事务管理和其他高级特性。无论是对于初学者...

    ibatis dtd问价

    描述 "编辑ibatis xml文件是添加不提示 添加dtd文件" 暗示用户可能遇到了在XML文件中添加DTD引用的困扰,没有得到IDE(集成开发环境)的自动提示或支持。这可能是由于IDE的配置问题,或者用户对如何正确引用DTD文件...

    最新的ibatis 3.0(包含源码)

    在这个"最新的ibatis 3.0(包含源码)"压缩包中,我们得到了Ibatis 3.0版本的核心库文件`ibatis-core-3.0`,这个版本是官方发布的,但需要注意的是,它与Spring 3.0.1存在兼容性问题。 Ibatis 3.0的主要改进和特性...

    ibatis基础教学文档

    它主要用于简化JDBC编程,提供一种“半自动化”的ORM(对象关系映射)实现,与Hibernate等“一站式”ORM解决方案相比,iBATIS强调的是SQL的灵活性和可控性。 在理论体系中,iBATIS的核心价值在于SQL Maps。SQL Maps...

Global site tag (gtag.js) - Google Analytics