Package com.mydomain.data

Source Code of com.mydomain.data.IbatisTest

package com.mydomain.data;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.ibatis.common.resources.Resources;
import com.mydomain.domain.Account;

import java.io.Reader;
import java.io.IOException;
import java.util.List;
import java.sql.SQLException;

/**
* This is not a best practices class. It's just an example to give you an idea
* of how iBATIS works. For a more complete example, see JPetStore 5.0 at
* http://www.ibatis.com.
*/
public class IbatisTest {

    /**
     * SqlMapClient instances are thread safe, so you only need one. In this
     * case, we'll use a static singleton. So sue me. ;-)
     */
    private static SqlMapClient sqlMapper;

    // private static SqlMapSession sqlMapper;
    /**
     * It's not a good idea to put code that can fail in a class initializer,
     * but for sake of argument, here's how you configure an SQL Map.
     */
    static {
        try {
            java.util.Properties p = new java.util.Properties();
            p.put("myvar1", "myvalue1");
            p.put("myvar2", "myvalue2");

            Reader reader = Resources.getResourceAsReader("com/mydomain/data/SqlMapConfig.xml");
            sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
            // sqlMapper2 = SqlMapClientBuilder.buildSqlMapClient(reader, p);
            System.out.println("sqlMapper=" + sqlMapper);
            reader.close();

        } catch (IOException e) {
            // Fail fast.
            throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e);
        }
    }

    public static List<?> selectAllAccounts() throws SQLException {
        return sqlMapper.queryForList("selectAllAccounts");
    }

    public static Account selectAccountById(int id) throws SQLException {
        return (Account) sqlMapper.queryForObject("selectAccountById", id);
    }

    public static void insertAccount(Account account) throws SQLException {
        sqlMapper.insert("insertAccount", account);
    }

    public static void updateAccount(Account account) throws SQLException {
        sqlMapper.update("updateAccount", account);
    }

    public static void deleteAccount(int id) throws SQLException {
        sqlMapper.delete("deleteAccountById", id);
    }

    public static void insertAccount(SqlMapClient sqlMapper, Account account) throws SQLException {
        sqlMapper.insert("insertAccount", account);
    }

    public static List<?> selectAllAccounts(SqlMapClient sqlMapper) throws SQLException {
        return sqlMapper.queryForList("selectAllAccounts");
    }

    public static Account selectAccountById(SqlMapClient sqlMapper, int id) throws SQLException {
        return (Account) sqlMapper.queryForObject("selectAccountById", id);
    }

    public static void main(String[] args) throws Throwable {

        // System.out.println("selectAccountById(10)="+selectAccountById(10));
        Account account = new Account();
        account.setId(2);
        account.setFirstName("a");
        account.setLastName("b");
        account.setEmailAddress("c");

        insertAccount(sqlMapper, account);

        //
        //
        // List list = selectAllAccounts(sqlMapper);
        // System.out.println(list.size());
        // System.out.println(list);
        //
        // list = selectAllAccounts(sqlMapper2);
        // System.out.println(list.size());
        // System.out.println(list);
        //
        //
        // System.out.println(selectAccountById(sqlMapper,222416));
        // System.out.println(selectAccountById(sqlMapper2,222416));
    }

}
TOP

Related Classes of com.mydomain.data.IbatisTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.