栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot操作数据库(springboot操作redis)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot操作数据库(springboot操作redis)

1.快速构建一个项目

选择Web快速构建项目

2.导入依赖
 
            org.springframework.boot
            spring-boot-starter-data-mongodb
            test
      
3.编写测试类(勾选了web,里面也会导入test的依赖)
public class MongoTest extends MongodbApplicationTests{
    private final MongoTemplate mongoTemplate;

    @Autowired
    public MongoTest(MongoTemplate mongoTemplate) {
        this.mongoTemplate = mongoTemplate;
    }
  
}
4.创建集合
 //1.创建集合
    @Test
    public void creatCollection(){
        boolean product = mongoTemplate.collectionExists("product");
        if(!product){
            mongoTemplate.createCollection("product");
        }
    }
5.删除集合
 //2.删除集合
    @Test
    public void deleteCollection(){
        mongoTemplate.dropCollection("product");
    }
6.实体类上的注解

 

@document("users")
public class User {
    @Id
    private Integer id;
    @Field("userName")
    private String name;
    @Field("userSex")
    private String sex;
    @Field("age")
    private String age;
    @Transient
    private String weight;
7.save和insert方法
 //3.操作文档的新增方法
    @Test
    public void saveAndInsert(){
        //1.操作实体时,如果自己定义了id,新增时必须给id赋值,不然会报错,没有建立id的实体,那么会自动生成id
        //2.save方法,如果id存在,就是更新id对应这条数据
        User user = new User(4,"张思美", "女", 18, 110);
        mongoTemplate.save(user);
        //insert方法插入的id已存在时,会报错
        mongoTemplate.insert(user);
        //insert可以操作这个集合
        User panda = new User(3,"熊猫", "动物", 18, 1000);
        List users = Arrays.asList(user, panda);
        mongoTemplate.insert(users,User.class);
    }
8.查询

 

 @Test
    public void find(){
        //查询所有findAll方法
        List all = mongoTemplate.findAll(User.class);
        //通过id查询
        User byId = mongoTemplate.findById(1, User.class);
        //添加条件查询
        List users = mongoTemplate.find(new Query(), User.class);
        Query query = new Query();
        List users1 = mongoTemplate.find(query, User.class);
        //查询条件的使用
        List users2 = mongoTemplate.find(Query.query(Criteria.where("userName").is("张思美")), User.class);
        //and的使用,注意查询的条件每个字段只有一个,不能重复
        List users3 = mongoTemplate.find(Query.query(Criteria.where("userName").is("熊猫").and("userSex").is("动物")), User.class);
       //or的使用
        Criteria criteria = new Criteria();
        criteria.orOperator(Criteria.where("userName").is("张思美"),Criteria.where("userName").is("熊猫"));
        List user4 = mongoTemplate.find(Query.query(criteria), User.class);
       //or和and连用
        List users4 = mongoTemplate.find(Query.query(Criteria.where("userName").is("张思美").orOperator(Criteria.where("age").is(18))), User.class);
        //排序
        Query query1 = new Query();
        query1.with(Sort.by(Sort.Order.desc("age")));
        List users5 = mongoTemplate.find(query1, User.class);
        //分页查询
        Query query2 = new Query();
        query1.with(Sort.by(Sort.Order.desc("age"))).skip(0).limit(1);
        List users6 = mongoTemplate.find(query1, User.class);
        //12.去重 distinct
        //参数1:查询条件参数2:去重字段参数3:操作集合参数4∶返回类型
        List stringList = mongoTemplate.findDistinct(new Query(),"name",User.class,String.class);
        //count
        long count = mongoTemplate.count(Query.query(Criteria.where("name").is("张思美")), User.class);
        System.out.println(count);
    }
9.修改
 //2.更新操作
    @Test
    public void updateCollection(){
        //更新第一条
        Update update = new Update();
        update.set("name","刘渝");
        mongoTemplate.updateFirst(Query.query(Criteria.where("name").is("张思美")),update,User.class);
        //更新全部
        mongoTemplate.updateMulti(Query.query(Criteria.where("name").is("张思美")),update,User.class);
        //查询条件没有的数据就直接插入
        UpdateResult upsert = mongoTemplate.upsert(Query.query(Criteria.where("name").is("张思美")), update, User.class);
        //匹配的条数
        System.out.println(upsert.getMatchedCount());
        //修改的条数
        System.out.println(upsert.getModifiedCount());
        //插入的id
        System.out.println(upsert.getUpsertedId());
    }
10.删除
 @Test
    public void deleteTest(){
        //删除所有文档
       mongoTemplate.remove(new Query(), User.class);
       //删除指定文档
        mongoTemplate.remove(Query.query(Criteria.where("name").is("熊猫")), User.class);
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773459.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号