Package net.paoding.rose.jade

Source Code of net.paoding.rose.jade.DataSourcesTest

package net.paoding.rose.jade;

import javax.sql.DataSource;

import net.paoding.rose.jade.annotation.DAO;
import net.paoding.rose.jade.annotation.SQL;
import net.paoding.rose.jade.context.application.JadeFactory;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
* 通过集成DAO和JadeFactory,验证 {@link DataSources}的可用
*
* @author qieqie
*
*/
public class DataSourcesTest {

    @DAO
    interface UserDAO {

        @SQL("create table user (id int, name varchar(200));")
        void createTable();

        @SQL("insert into user (id, name) values(:1, :2);")
        void insert(int id, String name);

        @SQL("select name from user where id=:1")
        String getName(int id);

        @SQL("select name from user order by id asc")
        String[] findNames();
    }

    // init方法负责初始化dao
    private UserDAO dao;

    @Before
    public void init() {
        DataSource dataSource = DataSources.createUniqueDataSource();
        JadeFactory factory = new JadeFactory(dataSource);
        dao = factory.create(UserDAO.class);
        dao.createTable();
        dao.insert(1, "zhiliang1");
        dao.insert(2, "zhiliang2");
    }

    @Test
    public void testGetName() {
        Assert.assertEquals("zhiliang1", dao.getName(1));
    }

    @Test
    public void testFindNames() {
        String[] names = dao.findNames();
        Assert.assertEquals(2, names.length);
        Assert.assertEquals("zhiliang1", names[0]);
        Assert.assertEquals("zhiliang2", names[1]);
    }

}
TOP

Related Classes of net.paoding.rose.jade.DataSourcesTest

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.