`
starbhhc
  • 浏览: 660776 次
  • 性别: 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 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");   
  
  }   
     
}   
  
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-SqlMaps-中文教程

    10. **实战案例**:通过实际项目中的例子,如用户管理、订单处理等,深入体验iBATIS在实际开发中的应用。 11. **源码分析**:对于进阶读者,可以进一步研究iBATIS的源码,了解其实现原理,有助于更深入地理解框架。...

    ibatis-in-action

    - **核心理念**:iBATIS的核心理念是提供一种轻量级的数据访问框架,使得开发者能够更高效地与数据库进行交互。它主张将SQL语句与Java代码分离,简化开发过程中的数据访问逻辑。 - **适用场景**:适用于那些希望保持...

    如何处理Ibatis结合MySQL数据库使用时的事务操作Demo

    本工程以“银行账号转账”为例子演示了 如何处理Ibatis结合MySQL数据库使用时的事务操作 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE `lm_bank_card` ( `id` ...

    ibatis的批量插入DAO实例

    在IT行业中,数据库操作是应用程序开发中的重要环节,而Ibatis作为一款轻量级的Java持久层框架,为开发者提供了方便的数据访问接口。本篇将深入探讨如何在Ibatis中实现批量插入数据的DAO(Data Access Object)实例...

    数据库--Ibatis教程

    第二个例子会教你如何通过Ibatis向数据库添加新数据。这通常涉及到`insert`标签的使用,你需要定义一个插入记录的SQL语句,并提供相应的Java方法来执行。 第三个例子则涉及删除数据,这将使用`delete`标签,同样...

    最简单的iBatis入门例子

    这个入门例子通过一步步的指导,帮助初学者理解如何使用iBatis进行简单的数据库操作。通过学习和实践,你可以逐渐掌握更复杂的查询、动态SQL以及事务管理等高级特性,进一步提升你的Java开发能力。

    ibatis简单CRUD例子

    3. **映射机制**:通过XML配置或者注解,Ibatis可以将数据库的查询结果映射到Java对象,实现数据对象与数据库表之间的转换。 4. **事务管理**:Ibatis支持Spring等容器的事务管理,也可以独立进行事务控制。 5. **...

    Ibatis 入门小例子

    这个入门小例子将带你逐步了解如何使用Ibatis进行数据库操作。 首先,Ibatis 的核心组件包括SqlMapConfig.xml配置文件、映射文件(如:UserMapper.xml)以及对应的Mapper接口(如:UserMapper.java)。SqlMapConfig...

    ibatis中iterate的例子

    在Java Web开发中,iBatis(现在称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得数据库操作更加便捷。在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、...

    读取excel数据插入数据库

    总结起来,通过Apache POI读取Excel数据和MyBatis插入数据库的流程如下: 1. 引入Apache POI和MyBatis相关依赖。 2. 使用POI读取Excel文件,获取数据并转换为目标对象。 3. 创建MyBatis的Mapper接口,定义插入数据的...

    ibatis与Spring整合例子

    在这个例子中,有两个操作:一个`select`元素用于根据`id`获取`Student`对象,另一个`insert`元素用于插入新的`Student`记录。`resultClass`属性指定了返回对象的类,`parameterClass`属性则指定了参数的类型。 在...

    ibatis简单例子

    **Ibatis简介** Ibatis,一个优秀的开源Java持久层框架,由Clinton Begin创建,最初是作为MyBatis的前身...通过实践这两个小例子,可以深入理解Ibatis如何将数据库操作与业务逻辑解耦,以及如何方便地处理数据库交互。

    iBatis资料 语法

    通过这个例子,你可以了解到iBatis的基本用法,包括插入、查询、更新和删除数据。 `ibatis 延迟加载、对多关系、缓存的测试.mht`涉及到iBatis的高级特性。延迟加载(Lazy Loading)是iBatis的一种优化策略,只在...

    Struts2+Spring2+iBatis2整合的例子

    **iBatis** 是一个持久层框架,它简化了Java与数据库的交互,通过XML或注解方式配置SQL语句,将SQL与Java代码分离。在整合中,iBatis作为数据访问层,处理与数据库的CRUD操作。 在"Struts2+Spring+iBatis整合的小...

    ibatis对数据库进行增删改查操作的小例子

    本小例子将帮助你理解并实践如何使用Ibatis进行数据库的增、删、改、查(CRUD)操作。 首先,我们需要在项目中引入Ibatis的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    ibatis 入门的例子

    Ibatis,全名MyBatis,是一个优秀的Java持久层框架,它主要负责处理SQL与Java对象之间的映射,简化了数据库操作。Ibatis的核心概念包括动态SQL、映射文件、SqlSession以及Mapper接口等,这些元素共同构建了一个灵活...

    ibatis小例子Demo

    这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握Ibatis的核心功能和基本用法。 Ibatis的主要特点包括: 1. **XML配置文件**:Ibatis通过XML配置文件来定义SQL语句、参数映射和结果映射,使得SQL与Java代码...

    ibatis的一个小例子

    【标题】:“ibatis的一个小例子...开发者可以通过调用这些接口方法来执行查询、插入、更新和删除等数据库操作。同时,`.classpath`和`.project`文件揭示了项目是如何组织和构建的,这对于理解和复现这个例子至关重要。

Global site tag (gtag.js) - Google Analytics