com.baomidou.mybatisplus.test.MybatisMapperRefreshTest.java Source code

Java tutorial

Introduction

Here is the source code for com.baomidou.mybatisplus.test.MybatisMapperRefreshTest.java

Source

/**
 * Copyright (c) 2011-2020, hubin (jobob@qq.com).
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.baomidou.mybatisplus.test;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

import com.baomidou.mybatisplus.MybatisSessionFactoryBuilder;
import com.baomidou.mybatisplus.entity.GlobalConfiguration;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.baomidou.mybatisplus.spring.MybatisMapperRefresh;
import com.baomidou.mybatisplus.test.mysql.MySqlInjector;
import com.baomidou.mybatisplus.test.mysql.UserMapper;
import com.baomidou.mybatisplus.test.mysql.UserMapperTest;
import com.baomidou.mybatisplus.toolkit.SystemClock;

/**
 * <p>
 * ?<br>
 * Mybatis ????.<br>
 * ???xml????.<br>
 * </p>
 * 
 * @author nieqiurong
 * @Date 2016-08-25
 */
public class MybatisMapperRefreshTest {

    /**
     *  Mybatis XML 
     */
    public static void main(String[] args) throws IOException, InterruptedException {
        InputStream in = UserMapperTest.class.getClassLoader().getResourceAsStream("mysql-config.xml");
        MybatisSessionFactoryBuilder mf = new MybatisSessionFactoryBuilder();
        mf.setGlobalConfig(new GlobalConfiguration(new MySqlInjector()));
        Resource[] resource = new ClassPathResource[] { new ClassPathResource("mysql/UserMapper.xml") };
        SqlSessionFactory sessionFactory = mf.build(in);
        new MybatisMapperRefresh(resource, sessionFactory, 0, 5, true);
        boolean isReturn = false;
        SqlSession session = null;
        while (!isReturn) {
            try {
                session = sessionFactory.openSession();
                UserMapper userMapper = session.getMapper(UserMapper.class);
                userMapper.selectListRow(new Pagination(1, 10));
                resource[0].getFile().setLastModified(SystemClock.now());
                session.commit();
                session.close();
                Thread.sleep(5000);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (session != null) {
                    session.close();
                }
                Thread.sleep(5000);
            }
        }
        System.exit(0);
    }
}