Java连接MongoDB进行增删改查的操作
Java连接MongoDB进行增删改查的操作
·
1.创建数据库的连接,进行增删改查
(分别为接口和实现类)
@Repository
public class RepositoryImpl implements AbstractRepository {
@Autowired
private MongoTemplate mongoTemplate;
// 查询所有数据
public List findAll(Class entity) {
return mongoTemplate.findAll(entity);
}
// 更新数据
public Company findOne(String id, Class entity) {
return (Company) mongoTemplate.findOne(new Query(Criteria.where("id")
.is(id)), entity);
}
// 添加到数据库
public void updateEntity(Company company) {
mongoTemplate.save(company);
}
// 删除选中的数据
public void delete(String id, Class class1) {
Criteria criteria = Criteria.where("id").in(id);
if (criteria != null) {
Query query = new Query(criteria);
if (query != null && mongoTemplate.findOne(query, class1) != null)
mongoTemplate.remove(mongoTemplate.findOne(query, class1));
}
}
//增加到数据库
public void insert(Company company) {
mongoTemplate.insert(company);
}
}
public interface AbstractRepository {
public List findAll(Class entity);
public Company findOne(String id,Class entity);
public void updateEntity(Company company);
public void delete(String id, Class class1);
public void insert(Company company);
}
Mongodb 中关键字种类:
- db(数据库实例级别)
- db 本身
- db.connection 数据库下的集合信息
- db.collection.xxx(
- rs(复制集级别)
- sh(分片级别)
增
db.userinfo.insert() //db+表名+insert({}或者[])可以实现插入一条数据或者多个数据,多条数据要用数组方式插入
db.userinfo.insertOne() //只能插入一条数据,并且是对象型数据
db.userinfo.insertMany() //数据只能接受数组
db.userinfo.save() //此方法与insert方法类似
插入操作,使用最多的就是insert()方法,可以根据需求插入一条数据或者多条数据
删
db.userinfo.deleteOne({}) //删除一条数据
db.userinfo.deleteMany({}) //删除多条数据
db.userinfo.remove({},n) //可以删除多条数据,n代表删除第一条数据
db.dropDatabase(); //删库跑路基本操作(谨慎使用)
db.users.drop(); //删除指定的表(谨慎使用)
使用最多的还是remove()方法,后面的参数n是指删除第一条数据,不带参数,删除所有
改
db.userinfo.update({},{$set:{}},true) //接收两个参数,第一个参数是条件,第二个参数是修改的数据,此方法支持修改一条数据和多条数据(修改多条数据时,第二个参数为true)
db.userinfo.updateOne({},{$set:{}}) //只能修改一条数据
db.userinfo.updateMany({},{$set:{}}) //修改多条数据
修改操作,使用最多的是update()方法,可以支持单条数据修改,也可以支持多条数据修改
查
db.userinfo.find() //查看表所有数据
更多推荐
已为社区贡献1条内容
所有评论(0)