重点技术-20180719-Jinq-函数形式的数据库访问

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/namelessfighter/article/details/81608180

----------------------Maven----------------------

        <dependency>
            <groupId>org.jinq</groupId>
            <artifactId>jinq-hibernate-legacy</artifactId>
            <version>1.8.24</version>
        </dependency>

----------------------applicationContext.xml----------------------

    <bean id="jinqHibernateStreamProvider" class="org.jinq.hibernate.JinqHibernateStreamProvider">
        <constructor-arg>
        <ref bean="sessionFactory"/>
        </constructor-arg>
    </bean>

----------------------实际使用----------------------

import java.util.List;

import org.hibernate.SessionFactory;
import org.jinq.hibernate.JinqHibernateStreamProvider;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.transaction.annotation.Transactional;

import com.chisalsoft.aed.database.po.Admin;

@Rollback(value=false)
@Transactional(transactionManager="transactionManager")
public class TestJinq extends BaseJunitTest
{
    @Autowired
    private SessionFactory sessionFactory;
    @Autowired
    private JinqHibernateStreamProvider jinqHibernateStreamProvider;

    @Test
    @Override
    public void execute() throws Exception
    {
        long now = System.currentTimeMillis();
        List<Admin> customers = jinqHibernateStreamProvider
                  .streamAll(sessionFactory.getCurrentSession(), Admin.class)
                  .where( c -> c.getAdminId().equals(1L) )
                  .toList();
        
        for(Admin admin:customers)
        {
            System.out.println(admin.getRealName());
        }
        
        System.out.println("用时:"+(System.currentTimeMillis()-now));
    }
}

猜你喜欢

转载自blog.csdn.net/namelessfighter/article/details/81608180