zoukankan      html  css  js  c++  java
  • springdata查询的多种用法

    MethodTest

    package com.itheima;
    
    import com.itheima.dao.UserDao;
    import com.itheima.domain.User;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.annotation.Rollback;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:applicationContext.xml")
    public class MethodTest {
        @Autowired
        private UserDao userDao;
        @Test
        public void testQueryOne(){
            User user1 = userDao.findByUsername("小亮");
            System.out.println(user1);
            User user2 = userDao.readByUsername("小亮");
            System.out.println(user2);
            User user3 = userDao.queryByUsername("小亮");
            System.out.println(user3);
            User user4 = userDao.streamByUsername("小亮");
            System.out.println(user4);
            User user5 = userDao.getByUsername("小亮");
            System.out.println(user5);
        }
    
        @Test
        /**
         * 等于规则查询
         */
        public void testQueryIsAndEquals(){
            User user1 = userDao.findByUsername("小亮");
            System.out.println(user1);
            User user2 = userDao.findByUsernameIs("小亮");
            System.out.println(user2);
            User user3 = userDao.findByUsernameEquals("小亮");
            System.out.println(user3);
        }
        @Test
        /**
         * like规则查询
         */
        public void testQueryLike(){
            List<User> users1 = userDao.findByUsernameLike("%小%");
            users1.forEach(u-> System.out.println(u));
            List<User> users2 = userDao.findByUsernameNotLike("小胡");
            users2.forEach(u-> System.out.println(u));
        }
        @Test
        /**
         * 测试区间访问 > >= < <=
         */
        public void testCalc(){
            List<User> users=null;
            users=userDao.findByAgeBetween(1,20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeLessThan(20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeLessThanEqual(20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeGreaterThan(20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeGreaterThanEqual(20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeAfter(20);
            users.forEach(u-> System.out.println(u));
    
            users=userDao.findByAgeBefore(20);
            users.forEach(u-> System.out.println(u));
        }
        @Test
        public void testNull(){
            List<User> users1 = userDao.findByUsernameIsNull();
            users1.forEach(u-> System.out.println(u));
            List<User> users2 = userDao.findByUsernameNotNull();
            users2.forEach(u-> System.out.println(u));
        }
    
        @Test
        /**
         * 测试包含关系
         */
        public void testStartEndContain(){
            List<User> users1 = userDao.findByUsernameStartingWith("小");
            users1.forEach(u-> System.out.println(u));
            List<User> users2 = userDao.findByUsernameEndingWith("亮");
            users2.forEach(u-> System.out.println(u));
            List<User> users3 = userDao.findByUsernameContaining("亮");
            users3.forEach(u-> System.out.println(u));
        }
    
        @Test
        /**
         * 测试 in语句
         */
        public void testNotIn(){
            List<User> users1 = userDao.findByAgeNot(20);
            users1.forEach(u-> System.out.println(u));
            List<Integer> ids = new ArrayList<>();
            ids.add(18);
            ids.add(11);
            List<User> users2 = userDao.findByAgeIn(ids);
            users2.forEach(u-> System.out.println(u));
            List<User> users3 = userDao.findByAgeNotIn(ids);
            users3.forEach(u-> System.out.println(u));
        }
        @Test
        /**
         * 测试bool判断
         */
        public void testBool() {
            List<User> users1 = userDao.findByVipTrue();
            users1.forEach(u -> System.out.println(u));
            List<User> users2 = userDao.findByVipFalse();
            users2.forEach(u -> System.out.println(u));
    
        }
        @Test
        public void testIgnoreCase() {
            List<User> users1 = userDao.findByUsernameIgnoreCase("小明X");
            users1.forEach(u -> System.out.println(u));
        }
        @Test
        public void testOrderBy() {
            List<User> users1 = userDao.findByUsernameOrderByAgeDesc("小明");
            users1.forEach(u -> System.out.println(u));
        }
        @Test
        @Transactional(readOnly = false)
        @Rollback(false)
        public void testDelete() {
            int i = userDao.removeByUsername("测试删除");
    
            System.out.println(i);
    
        }
    
        @Test
        public void testExist() {
            boolean b = userDao.existsByUsername("小明");
            System.out.println(b);
    
        }
        @Test
        public void testCount() {
            long b = userDao.countByUsername("小明");
            System.out.println(b);
    
        }
    
        @Test
        public void testMultiple1() {
            User user = userDao.findByUsernameAndPassword("小明", "123");
            System.out.println(user);
    
        }
        @Test
        public void testMultiple2() {
            List<User> userList = userDao.findByUsernameOrPassword("小明", "123");
            for (User user : userList) {
                System.out.println(user);
            }
    
    
        }
    
    
    
    
    
    }
    积少成多, 积沙成塔.
  • 相关阅读:
    Bootstrap 网页乱码
    西游记人物
    球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
    利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
    s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由用户控制。
    实现判断字符串的开头和结尾
    值类型和引用类型
    随机生成4位验证码
    实现 从1-36中随机产生6个不重复的中奖号码
    冒泡排序
  • 原文地址:https://www.cnblogs.com/lei0913/p/10960425.html
Copyright © 2011-2022 走看看