List of usage examples for org.apache.ibatis.session SqlSession getMapper
<T> T getMapper(Class<T> type);
From source file:com.itfsw.mybatis.generator.plugins.SelectiveEnhancedPluginTest.java
License:Apache License
/** * upsertByExampleSelective/*from w ww. java2s .com*/ */ @Test public void testUpsertByExampleSelective() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectiveEnhancedPlugin/mybatis-generator.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil TbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(TbExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 99l); ObjectUtil tb = new ObjectUtil(loader, packagz + ".Tb"); tb.set("id", 99l); tb.set("incF3", 10l); tb.set("tsIncF2", 5l); // selective ObjectUtil TbColumnId = new ObjectUtil(loader, packagz + ".Tb$Column#id"); ObjectUtil TbColumnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#field1"); ObjectUtil TbColumnTsIncF2 = new ObjectUtil(loader, packagz + ".Tb$Column#tsIncF2"); Object columns = Array.newInstance(TbColumnField1.getCls(), 3); Array.set(columns, 0, TbColumnId.getObject()); Array.set(columns, 1, TbColumnField1.getObject()); Array.set(columns, 2, TbColumnTsIncF2.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "upsertByExampleSelective", tb.getObject(), TbExample.getObject(), columns); Assert.assertEquals(sql, "update tb set id = 99 , field_1 = 'null' , inc_f2 = 5 WHERE ( id = '99' ) ; insert into tb ( id , field_1 , inc_f2 ) select 99 , 'null' , 5 from dual where not exists ( select 1 from tb WHERE ( id = '99' ) )"); Object result = tbMapper.invoke("upsertByExampleSelective", tb.getObject(), TbExample.getObject(), columns); Assert.assertEquals(result, 0); result = tbMapper.invoke("upsertByExampleSelective", tb.getObject(), TbExample.getObject(), columns); Assert.assertEquals(result, 1); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectOneByExamplePluginTest.java
License:Apache License
/** * selectOneByExample// w w w. ja va 2 s . c om */ @Test public void testSelectOneByExample() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectOneByExamplePlugin/mybatis-generator.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil TbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(TbExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 1l); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectOneByExample", TbExample.getObject()); Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( id = '1' ) limit 1"); Object result = tbMapper.invoke("selectOneByExample", TbExample.getObject()); ObjectUtil Tb = new ObjectUtil(result); Assert.assertEquals(Tb.get("id"), 1l); Assert.assertEquals(Tb.get("field1"), "fd1"); Assert.assertNull(Tb.get("field2")); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectOneByExamplePluginTest.java
License:Apache License
/** * selectOneByExampleWithBLOBs//from w ww . j a va2 s .c om */ @Test public void testSelectOneByExampleWithBLOBs() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectOneByExamplePlugin/mybatis-generator.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil TbBlobsMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbBlobsMapper"))); ObjectUtil TbBlobsExample = new ObjectUtil(loader, packagz + ".TbBlobsExample"); ObjectUtil criteria = new ObjectUtil(TbBlobsExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 1l); // sql String sql = SqlHelper.getFormatMapperSql(TbBlobsMapper.getObject(), "selectOneByExampleWithBLOBs", TbBlobsExample.getObject()); Assert.assertEquals(sql, "select id, field1 , field2, field3 from tb_blobs WHERE ( id = '1' ) limit 1"); Object result = TbBlobsMapper.invoke("selectOneByExampleWithBLOBs", TbBlobsExample.getObject()); ObjectUtil Tb = new ObjectUtil(result); Assert.assertEquals(Tb.get("id"), 1l); Assert.assertEquals(Tb.get("field1"), "fd1"); Assert.assertEquals(Tb.get("field2"), "fd2"); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectSelectivePluginTest.java
License:Apache License
/** * selectByExampleSelective/* w w w . j a va 2s . c o m*/ * * @throws Exception */ @Test public void testSelectByExampleSelective() throws Exception { // MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator.xml"); tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { // 1. sql ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 100l); tbExample.set("orderByClause", "field2 asc"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#field1"); // java // ???????Array!!!???invoke???? Object columns1 = Array.newInstance(columnField1.getCls(), 1); Array.set(columns1, 0, columnField1.getObject()); String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(sql, "select field1 from tb WHERE ( id < '100' ) order by field2 asc"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".Tb$Column#field2"); Object columns2 = Array.newInstance(columnField1.getCls(), 2); Array.set(columns2, 0, columnField1.getObject()); Array.set(columns2, 1, columnField2.getObject()); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns2); Assert.assertEquals(sql, "select field1 , field2 from tb WHERE ( id < '100' ) order by field2 asc"); // 2. sql List list = (List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(list.size(), 4); int index = 0; for (Object obj : list) { if (index == 1) { Assert.assertNull(obj); } else { ObjectUtil objectUtil = new ObjectUtil(obj); // if (objectUtil.get("id") != null || objectUtil.get("field2") != null) { Assert.assertTrue(false); } if (index == 0) { Assert.assertEquals(objectUtil.get("field1"), "fd1"); } else { Assert.assertEquals(objectUtil.get("field1"), "fd3"); } } index++; } // 3. distinct tbExample.invoke("setDistinct", true); tbExample.set("orderByClause", "field1 asc"); String sql1 = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(sql1, "select distinct field1 from tb WHERE ( id < '100' ) order by field1 asc"); List list1 = (List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(list1.size(), 3); } }); // Selective? tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 100l); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject()); Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( id < '100' )"); // List list = (List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), null); // ???? ObjectUtil result = new ObjectUtil(list.get(3)); Assert.assertEquals(result.get("id"), 4L); Assert.assertEquals(result.get("field1"), "fd3"); Assert.assertEquals(result.get("field2"), 4); } }); // WithBLOBs tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbBlobsMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbBlobsMapper"))); ObjectUtil tbBlobsExample = new ObjectUtil(loader, packagz + ".TbBlobsExample"); ObjectUtil criteria = new ObjectUtil(tbBlobsExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 100l); // selective // base model WithBLOBs?? ObjectUtil columnId = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#id"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#field2"); Object columns = Array.newInstance(columnId.getCls(), 2); Array.set(columns, 0, columnId.getObject()); Array.set(columns, 1, columnField2.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbBlobsMapper.getObject(), "selectByExampleSelective", tbBlobsExample.getObject(), columns); Assert.assertEquals(sql, "select id , field2 from tb_blobs WHERE ( id < '100' )"); // List list = (List) tbBlobsMapper.invoke("selectByExampleSelective", tbBlobsExample.getObject(), columns); // ????(??) ObjectUtil result = new ObjectUtil(list.get(3)); Assert.assertEquals(result.get("id"), 4L); Assert.assertNull(result.get("field1")); Assert.assertEquals(result.get("field2"), "L4"); Assert.assertNull(result.get("field3")); } }); // Key tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbKeysMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbKeysMapper"))); ObjectUtil tbKeysExample = new ObjectUtil(loader, packagz + ".TbKeysExample"); ObjectUtil criteria = new ObjectUtil(tbKeysExample.invoke("createCriteria")); criteria.invoke("andKey1LessThan", 100l); // selective // base model key model?? ObjectUtil columnKey1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#key1"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#field1"); Object columns = Array.newInstance(columnKey1.getCls(), 2); Array.set(columns, 0, columnKey1.getObject()); Array.set(columns, 1, columnField1.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbKeysMapper.getObject(), "selectByExampleSelective", tbKeysExample.getObject(), columns); Assert.assertEquals(sql, "select key1 , field1 from tb_keys WHERE ( key1 < '100' )"); // List list = (List) tbKeysMapper.invoke("selectByExampleSelective", tbKeysExample.getObject(), columns); // ????(??) ObjectUtil result = new ObjectUtil(list.get(2)); Assert.assertEquals(result.get("key1"), 3L); Assert.assertNull(result.get("key2")); Assert.assertEquals(result.get("field1"), "fd2"); Assert.assertNull(result.get("field2")); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectSelectivePluginTest.java
License:Apache License
/** * ?//from w w w . jav a2s. c o m * * @throws Exception */ @Test public void testSelectByPrimaryKeySelective() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator.xml"); // tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { // 1. sql ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#field1"); // java // ???????Array!!!???invoke???? Object columns1 = Array.newInstance(columnField1.getCls(), 1); Array.set(columns1, 0, columnField1.getObject()); String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByPrimaryKeySelective", 1, columns1); Assert.assertEquals(sql, "select field1 from tb where id = 1"); // 2. xxxKey ObjectUtil tbKeysMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbKeysMapper"))); ObjectUtil tbKeysKey = new ObjectUtil(loader, packagz + ".TbKeysKey"); tbKeysKey.set("key1", 1l); tbKeysKey.set("key2", "2"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".TbKeys$Column#field2"); // java // ???????Array!!!???invoke???? Object columns2 = Array.newInstance(columnField2.getCls(), 1); Array.set(columns2, 0, columnField2.getObject()); sql = SqlHelper.getFormatMapperSql(tbKeysMapper.getObject(), "selectByPrimaryKeySelective", tbKeysKey.getObject(), columns2); Assert.assertEquals(sql, "select field2 from tb_keys where key1 = 1 and key2 = '2'"); // 3. sql Object tbKeys = tbKeysMapper.invoke("selectByPrimaryKeySelective", tbKeysKey.getObject(), columns1); Assert.assertEquals(new ObjectUtil(tbKeys).get("field1"), "fd1"); } }); // Selective? tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByPrimaryKeySelective", 4L); Assert.assertEquals(sql, "select id, field1, field2 from tb where id = 4"); // ObjectUtil result = new ObjectUtil(tbMapper.invoke("selectByPrimaryKeySelective", 4L, null)); // ??? Assert.assertEquals(result.get("id"), 4L); Assert.assertEquals(result.get("field1"), "fd3"); Assert.assertEquals(result.get("field2"), 4); } }); // WithBLOBs tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbBlobsMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbBlobsMapper"))); // selective // base model WithBLOBs?? ObjectUtil columnId = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#id"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#field2"); Object columns = Array.newInstance(columnId.getCls(), 2); Array.set(columns, 0, columnId.getObject()); Array.set(columns, 1, columnField2.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbBlobsMapper.getObject(), "selectByPrimaryKeySelective", 4L, columns); Assert.assertEquals(sql, "select id , field2 from tb_blobs where id = 4"); // ObjectUtil result = new ObjectUtil( tbBlobsMapper.invoke("selectByPrimaryKeySelective", 4L, columns)); // ???(??) Assert.assertEquals(result.get("id"), 4L); Assert.assertNull(result.get("field1")); Assert.assertEquals(result.get("field2"), "L4"); Assert.assertNull(result.get("field3")); } }); // Key tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbKeysMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbKeysMapper"))); // selective // base model key model?? ObjectUtil columnKey1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#key1"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#field1"); Object columns = Array.newInstance(columnKey1.getCls(), 2); Array.set(columns, 0, columnKey1.getObject()); Array.set(columns, 1, columnField1.getObject()); ObjectUtil tbKeysKey = new ObjectUtil(loader, packagz + ".TbKeysKey"); tbKeysKey.set("key1", 3L); tbKeysKey.set("key2", "4"); // sql String sql = SqlHelper.getFormatMapperSql(tbKeysMapper.getObject(), "selectByPrimaryKeySelective", tbKeysKey.getObject(), columns); Assert.assertEquals(sql, "select key1 , field1 from tb_keys where key1 = 3 and key2 = '4'"); // ObjectUtil result = new ObjectUtil( tbKeysMapper.invoke("selectByPrimaryKeySelective", tbKeysKey.getObject(), columns)); // ????(??) Assert.assertEquals(result.get("key1"), 3L); Assert.assertNull(result.get("key2")); Assert.assertEquals(result.get("field1"), "fd2"); Assert.assertNull(result.get("field2")); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectSelectivePluginTest.java
License:Apache License
/** * ?/*w w w . j ava 2 s.co m*/ * * @throws Exception */ @Test public void testSelectOneByExampleSelective() throws Exception { // ?SelectOneByExamplePlugin??? MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator.xml"); MyBatisGenerator myBatisGenerator = tool.generate(); List<GeneratedJavaFile> list = myBatisGenerator.getGeneratedJavaFiles(); for (GeneratedJavaFile file : list) { if (file.getFileName().equals("TbMapper.java")) { Assert.assertFalse(file.getFormattedContent().matches(".*selectByExampleSelective.*")); } } // ?SelectOneByExamplePlugin tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator-with-SelectOneByExamplePlugin.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { // 1. sql ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 3l); tbExample.set("orderByClause", "field2 asc"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#field1"); // java // ???????Array!!!???invoke???? Object columns1 = Array.newInstance(columnField1.getCls(), 1); Array.set(columns1, 0, columnField1.getObject()); String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectOneByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(sql, "select field1 from tb WHERE ( id = '3' ) order by field2 asc limit 1"); // 2. sql Object result = tbMapper.invoke("selectOneByExampleSelective", tbExample.getObject(), columns1); ObjectUtil tb = new ObjectUtil(result); Assert.assertEquals(tb.get("field1"), "fd3"); Assert.assertNull(tb.get("field2")); } }); // Selective? tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 4L); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectOneByExampleSelective", tbExample.getObject()); Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( id = '4' ) limit 1"); // ObjectUtil result = new ObjectUtil( tbMapper.invoke("selectOneByExampleSelective", tbExample.getObject(), null)); // ???? Assert.assertEquals(result.get("id"), 4L); Assert.assertEquals(result.get("field1"), "fd3"); Assert.assertEquals(result.get("field2"), 4); } }); // WithBLOBs tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbBlobsMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbBlobsMapper"))); ObjectUtil tbBlobsExample = new ObjectUtil(loader, packagz + ".TbBlobsExample"); ObjectUtil criteria = new ObjectUtil(tbBlobsExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 4L); // selective // base model WithBLOBs?? ObjectUtil columnId = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#id"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".TbBlobsWithBLOBs$Column#field2"); Object columns = Array.newInstance(columnId.getCls(), 2); Array.set(columns, 0, columnId.getObject()); Array.set(columns, 1, columnField2.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbBlobsMapper.getObject(), "selectOneByExampleSelective", tbBlobsExample.getObject(), columns); Assert.assertEquals(sql, "select id , field2 from tb_blobs WHERE ( id = '4' ) limit 1"); // ObjectUtil result = new ObjectUtil( tbBlobsMapper.invoke("selectOneByExampleSelective", tbBlobsExample.getObject(), columns)); // ???(??) Assert.assertEquals(result.get("id"), 4L); Assert.assertNull(result.get("field1")); Assert.assertEquals(result.get("field2"), "L4"); Assert.assertNull(result.get("field3")); } }); // Key tool.generate(new IBeforeCallback() { @Override public void run() throws Exception { DBHelper.resetDB("scripts/SelectSelectivePlugin/init.sql"); } }, new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbKeysMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbKeysMapper"))); ObjectUtil tbKeysExample = new ObjectUtil(loader, packagz + ".TbKeysExample"); ObjectUtil criteria = new ObjectUtil(tbKeysExample.invoke("createCriteria")); criteria.invoke("andKey1EqualTo", 3L); criteria.invoke("andKey2EqualTo", "4"); // selective // base model key model?? ObjectUtil columnKey1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#key1"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".TbKeys$Column#field1"); Object columns = Array.newInstance(columnKey1.getCls(), 2); Array.set(columns, 0, columnKey1.getObject()); Array.set(columns, 1, columnField1.getObject()); // sql String sql = SqlHelper.getFormatMapperSql(tbKeysMapper.getObject(), "selectOneByExampleSelective", tbKeysExample.getObject(), columns); Assert.assertEquals(sql, "select key1 , field1 from tb_keys WHERE ( key1 = '3' and key2 = '4' ) limit 1"); // ObjectUtil result = new ObjectUtil( tbKeysMapper.invoke("selectOneByExampleSelective", tbKeysExample.getObject(), columns)); // ????(??) Assert.assertEquals(result.get("key1"), 3L); Assert.assertNull(result.get("key2")); Assert.assertEquals(result.get("field1"), "fd2"); Assert.assertNull(result.get("field2")); } }); }
From source file:com.itfsw.mybatis.generator.plugins.SelectSelectivePluginTest.java
License:Apache License
/** * ?//from www .java 2 s .co m * * @throws Exception */ @Test public void testSelectiveWithOrWithoutConstructorBased() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator-with-constructorBased-false.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { // 1. sql ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 100l); tbExample.set("orderByClause", "field1 asc"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#tsF1"); // java // ???????Array!!!???invoke???? Object columns1 = Array.newInstance(columnField1.getCls(), 1); Array.set(columns1, 0, columnField1.getObject()); String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(sql, "select field1 from tb WHERE ( id < '100' ) order by field1 asc"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".Tb$Column#field2"); Object columns2 = Array.newInstance(columnField1.getCls(), 2); Array.set(columns2, 0, columnField1.getObject()); Array.set(columns2, 1, columnField2.getObject()); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns2); Assert.assertEquals(sql, "select field1 , field2 from tb WHERE ( id < '100' ) order by field1 asc"); // 2. sql List list = (List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(list.size(), 4); int index = 0; for (Object obj : list) { if (index == 0) { Assert.assertNull(obj); } else { ObjectUtil objectUtil = new ObjectUtil(obj); // if (objectUtil.get("id") != null || objectUtil.get("field2") != null) { Assert.assertTrue(false); } if (index == 1) { Assert.assertEquals(objectUtil.get("tsF1"), "fd1"); } else { Assert.assertEquals(objectUtil.get("tsF1"), "fd3"); } } index++; } } }); tool = MyBatisGeneratorTool .create("scripts/SelectSelectivePlugin/mybatis-generator-with-constructorBased-true.xml"); tool.generate(new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { // 1. sql ObjectUtil tbMapper = new ObjectUtil(sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 100l); tbExample.set("orderByClause", "field1 asc"); ObjectUtil columnField1 = new ObjectUtil(loader, packagz + ".Tb$Column#tsF1"); // java // ???????Array!!!???invoke???? Object columns1 = Array.newInstance(columnField1.getCls(), 1); Array.set(columns1, 0, columnField1.getObject()); String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(sql, "select field1 from tb WHERE ( id < '100' ) order by field1 asc"); ObjectUtil columnField2 = new ObjectUtil(loader, packagz + ".Tb$Column#field2"); Object columns2 = Array.newInstance(columnField1.getCls(), 2); Array.set(columns2, 0, columnField1.getObject()); Array.set(columns2, 1, columnField2.getObject()); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExampleSelective", tbExample.getObject(), columns2); Assert.assertEquals(sql, "select field1 , field2 from tb WHERE ( id < '100' ) order by field1 asc"); // 2. sql List list = (List) tbMapper.invoke("selectByExampleSelective", tbExample.getObject(), columns1); Assert.assertEquals(list.size(), 4); int index = 0; for (Object obj : list) { if (index == 0) { Assert.assertNull(obj); } else { ObjectUtil objectUtil = new ObjectUtil(obj); // if (objectUtil.get("id") != null || objectUtil.get("field2") != null) { Assert.assertTrue(false); } if (index == 1) { Assert.assertEquals(objectUtil.get("tsF1"), "fd1"); } else { Assert.assertEquals(objectUtil.get("tsF1"), "fd3"); } } index++; } } }); }
From source file:com.itfsw.mybatis.generator.plugins.TableRenameConfigurationPluginTest.java
License:Apache License
/** * domainObjectRenamingRule//from w ww. j a va 2 s .com */ @Test public void testDomainObjectRenamingRule() throws Exception { // ^T ??? MyBatisGeneratorTool tool = MyBatisGeneratorTool.create( "scripts/TableRenameConfigurationPlugin/mybatis-generator-with-domainObjectRenamingRule-relacePrefix.xml"); MyBatisGenerator myBatisGenerator = tool.generate(); for (GeneratedJavaFile file : myBatisGenerator.getGeneratedJavaFiles()) { String name = file.getCompilationUnit().getType().getShortName(); if (!name.matches("B.*")) { Assert.assertTrue(false); } } // ^T ?? Test tool = MyBatisGeneratorTool.create( "scripts/TableRenameConfigurationPlugin/mybatis-generator-with-domainObjectRenamingRule.xml"); myBatisGenerator = tool.generate(); for (GeneratedJavaFile file : myBatisGenerator.getGeneratedJavaFiles()) { String name = file.getCompilationUnit().getType().getShortName(); if (!(name.matches("Testb.*") || name.matches("TbBlobs.*"))) { Assert.assertTrue(false); } } // ??? tool.generate(() -> DBHelper.resetDB("scripts/TableRenameConfigurationPlugin/init.sql"), new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TestbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TestbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 4L); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExample", tbExample.getObject()); Assert.assertEquals(sql, "select id, field1, inc_f1, inc_f2, inc_f3 from tb WHERE ( id < '4' )"); // List list = (List) tbMapper.invoke("selectByExample", tbExample.getObject()); Assert.assertEquals(list.size(), 3); } }); }
From source file:com.itfsw.mybatis.generator.plugins.TableRenameConfigurationPluginTest.java
License:Apache License
/** * columnRenamingRule// www . ja v a2 s.c o m */ @Test public void testColumnRenamingRule() throws Exception { // ^T ?? Test MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/TableRenameConfigurationPlugin/mybatis-generator-with-columnRenamingRule.xml"); MyBatisGenerator myBatisGenerator = tool.generate(); for (GeneratedJavaFile file : myBatisGenerator.getGeneratedJavaFiles()) { if (file.getFileName().equals("Tb.java")) { int count = 0; for (Field field : ((TopLevelClass) (file.getCompilationUnit())).getFields()) { if (field.getName().startsWith("increment")) { count++; } } Assert.assertEquals(count, 3); } if (file.getFileName().equals("TbBlobs.java")) { int count = 0; for (Field field : ((TopLevelClass) (file.getCompilationUnit())).getFields()) { if (field.getName().startsWith("increment")) { count++; } } Assert.assertEquals(count, 0); } } // ??? tool.generate(() -> DBHelper.resetDB("scripts/TableRenameConfigurationPlugin/init.sql"), new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbMapper = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbMapper"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdEqualTo", 4L); ObjectUtil tb = new ObjectUtil(loader, packagz + ".Tb"); tb.set("id", 4L); tb.set("field1", "ts1"); tb.set("incrementF1", 5L); // sql String sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "updateByExample", tb.getObject(), tbExample.getObject()); Assert.assertEquals(sql, "update tb set id = 4, field1 = 'ts1', inc_f1 = 5, inc_f2 = null, inc_f3 = null WHERE ( id = '4' )"); // int count = (int) tbMapper.invoke("updateByExample", tb.getObject(), tbExample.getObject()); Assert.assertEquals(count, 1); // List list = (List) tbMapper.invoke("selectByExample", tbExample.getObject()); ObjectUtil result = new ObjectUtil(list.get(0)); Assert.assertEquals(result.get("id"), 4L); Assert.assertEquals(result.get("field1"), "ts1"); Assert.assertEquals(result.get("incrementF1"), 5L); } }); }
From source file:com.itfsw.mybatis.generator.plugins.TableRenameConfigurationPluginTest.java
License:Apache License
/** * clientSuffix/*w w w. j a v a 2 s. co m*/ */ @Test public void testClientSuffix() throws Exception { MyBatisGeneratorTool tool = MyBatisGeneratorTool .create("scripts/TableRenameConfigurationPlugin/mybatis-generator-with-clientSuffix.xml"); MyBatisGenerator myBatisGenerator = tool.generate(); boolean find = false; for (GeneratedJavaFile file : myBatisGenerator.getGeneratedJavaFiles()) { String name = file.getCompilationUnit().getType().getShortName(); if (name.equals("TbDao")) { find = true; } } Assert.assertTrue(find); find = false; for (GeneratedXmlFile file : myBatisGenerator.getGeneratedXmlFiles()) { String name = file.getFileName(); if (name.equals("TbDao.xml")) { find = true; } } Assert.assertTrue(find); // ??? tool.generate(() -> DBHelper.resetDB("scripts/TableRenameConfigurationPlugin/init.sql"), new AbstractShellCallback() { @Override public void reloadProject(SqlSession sqlSession, ClassLoader loader, String packagz) throws Exception { ObjectUtil tbDao = new ObjectUtil( sqlSession.getMapper(loader.loadClass(packagz + ".TbDao"))); ObjectUtil tbExample = new ObjectUtil(loader, packagz + ".TbExample"); ObjectUtil criteria = new ObjectUtil(tbExample.invoke("createCriteria")); criteria.invoke("andIdLessThan", 4L); // sql String sql = SqlHelper.getFormatMapperSql(tbDao.getObject(), "selectByExample", tbExample.getObject()); Assert.assertEquals(sql, "select id, field1, inc_f1, inc_f2, inc_f3 from tb WHERE ( id < '4' )"); // List list = (List) tbDao.invoke("selectByExample", tbExample.getObject()); Assert.assertEquals(list.size(), 3); } }); }