Преглед на файлове

加上了注释看得清点,加上测试用例

miemie преди 7 години
родител
ревизия
6d4e55f652

+ 6 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/override/PageMapperMethod.java

@@ -70,6 +70,9 @@ public class PageMapperMethod {
                     result = executeForCursor(sqlSession, args);
                 } else {
                     Object param = method.convertArgsToSqlCommandParam(args);
+                    /**
+                     * 这下面
+                     */
                     if (Page.class.isAssignableFrom(method.getReturnType()) && args != null
                         && Page.class.isAssignableFrom(args[0].getClass())) {
                         List<Object> o = (List<Object>) executeForMany2(sqlSession, args);
@@ -77,6 +80,9 @@ public class PageMapperMethod {
                     } else {
                         result = sqlSession.selectOne(command.getName(), param);
                     }
+                    /**
+                     * 这上面
+                     */
                 }
                 break;
             case FLUSH:

+ 1 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/override/PageMapperProxy.java

@@ -13,6 +13,7 @@ import org.apache.ibatis.reflection.ExceptionUtil;
 import org.apache.ibatis.session.SqlSession;
 
 /**
+ * 替换掉引用
  * @author ming
  * @since 2018/6/9
  */

+ 1 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/override/PageMapperProxyFactory.java

@@ -8,6 +8,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import org.apache.ibatis.session.SqlSession;
 
 /**
+ * 替换掉引用
  * @author ming
  * @since 2018/6/9
  */

+ 36 - 10
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/MysqlTestDataMapperTest.java

@@ -1,19 +1,23 @@
 package com.baomidou.mybatisplus.test.mysql;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.test.base.entity.TestData;
-import com.baomidou.mybatisplus.test.base.mapper.TestDataMapper;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import javax.annotation.Resource;
-import java.time.LocalDate;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.pagination.Page;
+import com.baomidou.mybatisplus.test.base.entity.TestData;
+import com.baomidou.mybatisplus.test.base.mapper.TestDataMapper;
 
 /**
  * <p>
@@ -66,13 +70,35 @@ public class MysqlTestDataMapperTest {
     }
 
     @Test
-    public void mm() {
+    public void selectByMap() {
         Map<String, Object> map = new HashMap<>();
         map.put("id", 1L);
         map.put("test_int", 1);
         println(testDataMapper.selectByMap(map));
     }
 
+    @Test
+    public void selectPage() {
+        Page<TestData> page = new Page<>();
+        page.setSize(5).setCurrent(1);
+        Page<TestData> dataPage = testDataMapper.selectPage(page, new QueryWrapper<TestData>().lambda()
+            .eq(TestData::getTestInt, 1));
+        System.out.println(dataPage.getTotal());
+        System.out.println(dataPage.getRecords().size());
+        println(page.getRecords());
+    }
+
+    @Test
+    public void mm() {
+        ArrayList<TestData> list = new ArrayList<>();
+        Pages<TestData> a = (Pages<TestData>) list;
+        System.out.println(a);
+    }
+
+    private class Pages<T> extends ArrayList<T> {
+
+    }
+
     private void println(List<TestData> list) {
         list.forEach(System.out::println);
     }

+ 5 - 4
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/DBConfig.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.mysql.config;
 
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
 import org.h2.Driver;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -7,9 +11,6 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
 import org.springframework.jdbc.datasource.SimpleDriverDataSource;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
-import javax.sql.DataSource;
-import java.sql.SQLException;
-
 /**
  * @author miemie
  * @since 2018/6/7
@@ -25,7 +26,7 @@ public class DBConfig {
         dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis_plus");
         dataSource.setDriverClass(com.mysql.jdbc.Driver.class);
         dataSource.setUsername("root");
-        dataSource.setPassword("123456");
+        dataSource.setPassword("123123");
         return dataSource;
     }
 

+ 15 - 13
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -1,18 +1,19 @@
 package com.baomidou.mybatisplus.test.mysql.config;
 
-import com.baomidou.mybatisplus.core.MybatisConfiguration;
-import com.baomidou.mybatisplus.core.config.DbConfig;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
-import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
-import com.baomidou.mybatisplus.test.h2.H2MetaObjectHandler;
+import javax.sql.DataSource;
+
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.apache.ibatis.type.JdbcType;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
-import javax.sql.DataSource;
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import com.baomidou.mybatisplus.core.config.DbConfig;
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import com.baomidou.mybatisplus.test.h2.H2MetaObjectHandler;
 
 /**
  * <p>
@@ -27,7 +28,7 @@ import javax.sql.DataSource;
 public class MybatisPlusConfig {
 
     @Bean("mybatisSqlSession")
-    public SqlSessionFactory sqlSessionFactory(DataSource dataSource, GlobalConfig globalConfiguration) throws Exception {
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource, GlobalConfig globalConfig) throws Exception {
         MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
         sqlSessionFactory.setDataSource(dataSource);
 //        sqlSessionFactory.setConfigLocation(resourceLoader.getResource("classpath:mybatis-config.xml"));
@@ -37,22 +38,23 @@ public class MybatisPlusConfig {
 //        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
         configuration.setJdbcTypeForNull(JdbcType.NULL);
         configuration.setMapUnderscoreToCamelCase(true);
-        sqlSessionFactory.setConfiguration(configuration);
         PaginationInterceptor pagination = new PaginationInterceptor();
-        pagination.setLocalPage(true);
+        configuration.addInterceptor(pagination);
+        sqlSessionFactory.setConfiguration(configuration);
+//        pagination.setLocalPage(true);
 //        OptimisticLockerInterceptor optLock = new OptimisticLockerInterceptor();
 //        sqlSessionFactory.setPlugins(new Interceptor[]{
 //            pagination,
 //            optLock,
 //            new PerformanceInterceptor()
 //        });
-        globalConfiguration.setMetaObjectHandler(new H2MetaObjectHandler());
-        sqlSessionFactory.setGlobalConfig(globalConfiguration);
+        globalConfig.setMetaObjectHandler(new H2MetaObjectHandler());
+        sqlSessionFactory.setGlobalConfig(globalConfig);
         return sqlSessionFactory.getObject();
     }
 
     @Bean
-    public GlobalConfig globalConfiguration() {
+    public GlobalConfig globalConfig() {
         GlobalConfig conf = new GlobalConfig();
 //        LogicSqlInjector logicSqlInjector = new LogicSqlInjector();
 //        conf.setLogicDeleteValue("-1");