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

iBatis-通过ID进行删除操作

阅读更多
iBatis-通过ID进行删除操作

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: 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");   
  
       
    sqlMapper.delete("deleteAccountById", 1);   
    util.checkData("select * from account");   
  
  
       
       
  }   
     
}   
  
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: 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-2-Tutorial_en.rar

    映射文件中的每个元素都对应一个数据库操作,并可以通过Java接口进行调用。这种设计使得SQL语句能够根据业务需求动态改变,而无需修改Java代码。 1. **SqlMapConfig.xml配置文件**:这是iBATIS的全局配置文件,用于...

    iBATIS-3-User-Guide

    - **插入、更新、删除操作** (`insert`, `update`, `delete`):定义对数据库表的操作。 - **动态 SQL**:支持条件判断等动态 SQL 构建。 - **参数处理**:允许传递参数到 SQL 语句中,并自动进行类型转换。 - **...

    iBATIS-SqlMaps-2_cn.doc

    iBATIS SQL Maps的核心概念在于SQL映射文件,这些文件使用XML格式定义了数据库操作,如SQL查询、插入、更新和删除。SQL映射文件包含多个元素,如`&lt;properties&gt;`、`&lt;setting&gt;`、`&lt;typeAlias&gt;`等,这些元素帮助配置和...

    ibatis_with_memcached

    Ibatis提供了一种灵活的方式来控制SQL的执行,同时保持了SQL与业务逻辑的分离,使得数据库操作更加简单、易维护。 Memcached则是一种高性能的分布式内存对象缓存系统,广泛应用于Web应用中,用于减少数据库负载,...

    Java_ibatis-cache.rar_cache

    3. 缓存数据的操作:插入、更新和删除操作会影响缓存,因此在执行这些操作后,你需要清除对应缓存,以保证数据的一致性。可以通过`&lt;update&gt;`标签的`flushCache="true"`属性来实现。 4. 注意,虽然二级缓存可以提高...

    ibatis实例-一般操作

    创建与XML映射文件对应的Java接口,如`UserMapper.java`,接口中的方法名应与XML文件中的 `&lt;select&gt;`、`&lt;insert&gt;`、`&lt;update&gt;`、`&lt;delete&gt;` 标签的id属性一致,这样Ibatis才能自动进行方法匹配。 6. **SqlSession...

    经典开源插件之ibatis

    ibatis的灵活性使得开发者能够通过简单的XML或注解配置来实现对数据库的操作,这不仅提高了开发效率,同时也让代码更加简洁易懂。 #### 关键知识点 1. **ibatis的基本概念与特点** - **持久层框架**:ibatis属于...

    ibatis的sql-map dtd

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,...

    ibatis官方中文文档

    它涵盖了iBATIS的基本使用方法,包括插入、更新、删除和查询等操作。此外,文档还特别强调了如何通过iBATIS来调用存储过程,这是数据库操作中的一个重要特性,尤其是在处理复杂逻辑或批量操作时。 **iBATIS-SqlMaps...

    ibatis教程_删除指定id的单个对象.rar

    总之,Ibatis提供的SQL映射功能使得开发者可以灵活地处理各种数据库操作,包括删除指定ID的单个对象。在实际开发中,结合Spring等框架,我们可以构建出高效、稳定的业务系统。理解并熟练掌握Ibatis的这些基本操作,...

    IBATISDAO库类操作

    `IBATISDAO`库类是基于IBATIS框架设计的一组用于简化数据库操作的类,它封装了与数据库交互的基本方法,让开发者能够更加高效地进行CRUD(创建、读取、更新、删除)操作。 **1. IBATIS框架基础** IBATIS的核心概念...

    Ibatis实例,手把手交你入门

    比如,创建一个`UserMapper.xml`,编写SQL查询、插入、更新和删除操作。每个SQL语句对应一个XML元素,如`select`、`insert`、`update`和`delete`。 4. **创建Mapper接口**:在Java源码目录下,创建一个名为`...

    ibatis持久层简单操作

    本篇文章将详细介绍Ibatis的简单操作,并结合实际的Java测试代码进行解析。 Ibatis是由Clinton Begin创建的开源项目,它并非是一个完整的ORM框架,而是一个SQL映射框架,主要负责SQL语句的编写与执行。Ibatis的主要...

    ibatis实现CRUD操作

    Ibatis通过XML或注解方式定义和配置SQL映射,将Java对象和数据库记录进行映射,实现了数据的CRUD操作。 在实现CRUD操作时,Ibatis有以下核心组件: 1. SQL Map配置文件:这是Ibatis的核心,用于存放SQL语句及其...

    最简单的iBatis入门例子

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

    ibatis实现数据的操作

    本篇文章将详细讲解如何利用Ibatis实现数据的连接、增加、查询、删除和修改(CRUD)操作,以及.xml文件在SQL映射中的作用。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它的核心理念是将SQL语句与...

    ibatis与spring整合

    与Hibernate等其他ORM框架相比,ibatis更加轻量级,对于那些只需要简单CRUD(创建、读取、更新、删除)操作的应用来说非常合适。ibatis的核心组件是`SqlMapClient`,它类似于Hibernate中的Session,用于执行SQL语句...

    ibatis简单CRUD例子

    通过这些文件,新手可以学习如何配置Ibatis,以及如何在Java代码中使用Ibatis进行数据操作,从而理解Ibatis的工作原理和使用方法。 总结起来,Ibatis作为一个轻量级的持久层框架,其简单易用的特性使其成为许多项目...

Global site tag (gtag.js) - Google Analytics