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.wang@gmail.com] * */ 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]); } }