发布时间:2026-01-02
浏览次数:0
于《初识》里头,我们阐述了概念之意蕴,讲授了安装之流程,还说明了命令行情形下的操作办法。
我们能够将其当作平平常常的关系型数据库(像是 MySQL 那样)去运用,插入至其中的每条数据都具备固定的字段数量,我们借由数据实体来展现每个文档。
但要是处于这种情形,能够适应数据库构造改变的那种优势,就没办法展现了,这明显并非是我们进行运用时所期望达成的目标。 。
接下来,以使用 IDEA这款工具为依托,达成往其中插入并非结构化形式的数据这一操作,同时还得实现从里面查询数据具体内容这种目的 。
1、要实现的需求
我们于大学校园中,随机抽取了4个学生,将这些学生的成绩进行录入以及查询。这些学生源自各个系,每个人选修的课程种类繁多,在课程名称方面不一样,在课程数量方面也不一样,每一个人都存在差异。
为了达成这个需求,选用关系型数据库,这是颇具难度的事儿,所以我们决定采用以此来实现需求。
2、在命令行途径之下,去实行下面所列的语句,从而构建数据库,接着于数据库范围之内创建admin用户啦,其口令是为了:
> use db_student
switched to db db_student
数据库创建用户,用户名为“admin”,密码是“112233”,角色为包含一个角色的数组,该角色是{role: "readWrite", db: "db_student"} 。
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "db_student"
}
]
}
3、在命令行下,执行下面的语句,建立集合:
运用数据库操作指令来,新建一个集合,其名称为“col_score”,以此来进行数据整合处理等工作,具备存储相关数据的功能,。
{ "ok" : 1 }
4、运用IDEA构建一个空的项目,接着于该项目之下创建score模块,增添Web、Data这两个依赖;等到模块建好之后,IDEA里的视图呈现如下:
5、增加dao、biz和包:
6、在dao包中添加类,代码如下:
package com.flying.score.dao;
import org.bson.Document;
引进,那个,名叫春天框架的,一种,具备各种功能的,体系里的,名为豆荚工厂的,注解,被自动注入的,东西。
导入,属于,Spring框架下,数据相关,用于与MongoDB交互的,那个包含MongoTemplate的,特定的包 。
引入,用于表示把某个特定的东西纳入进来供后续使用的行为,这个特定的东西是,属于Spring框架体系中的,用于将一个类定义为数据访问层组件,具备特定功能和用途的,名为org。
import java.util.List;
@Repository
public class ScoreDao{
@Autowired
私有的,名为MongoTemplate的,mongoTemplate变量 。
公开的方法,用于插入分数,该方法具有一个参数,此参数为文档类型,方法名为插入分数 ,括号内为文档对象 。
向名为“col_score”的集合中,插入文档“document”,借助“mongoTemplate” 。
}
public List getAll(){
List先将“documentList”赋值,其值为通过“mongoTemplate”调用“findAll”方法,以“Document”类作为参数,在“col_score”集合中查找出来的所有内容,。
return documentList;
}
}
7、在biz包中添加类,代码如下:
package com.flying.score.biz;
导入,来自,com.flying.score.dao这个包,的ScoreDao类 。
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
导入,用于组织,春天框架,的,将其标记为,服务的,那个东西 。
import java.util.List;
@Service
public class ScoreBiz {
@Autowired
private ScoreDao scoreDao;
public void insertScores(){
创建一个新的文档对象,将其赋值给一个名为document的变量 ,该变量的数据类型是文档类型 。
document.append("姓名", "张文");
document.append("院系", "中文系");
document.append("英语", 92);
document.append("古汉语", 88);
分数数据访问对象插入分数(文档),分数数据访问对象进行插入,数据是分数(文档) 。
document = new Document();
document.append("姓名", "李静");
document.append("院系", "法律系");
document.append("英语", 62);
document.append("行政法", 73);
document.append("刑法", 69);
scoreDao.insertScore(document);
document = new Document();
document.append("姓名", "王力");
document.append("院系", "外语系");
document.append("英语", 99);
document.append("马克思主义", 86);
scoreDao.insertScore(document);
document = new Document();
document.append("姓名", "赵正");
document.append("院系", "电子系");
document.append("英语", 99);
将“数字电子技术”添加于文档之中,添加的数值为93 。
文档添加上,“模拟电子技术”这一项,其对应数值为96 。
document.append("大学物理", 88);
scoreDao.insertScore(document);
}
public List getAll(){
return scoreDao.getAll();
}
}
肉眼可见于代码之中,我们所留存的每一条数据,其字段列表皆存在差异,并且字段名称能够为中文!
8、在包中增加类,用于接收来自前端的命令:
“包”,“包含”之意,“com.flying.score.controller”,这是一个特定的文件路径或代码中的相关标识,它表示在某个软件项目。
引入,来自,com.flying.score.biz这个包下,名为ScoreBiz的类 。
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
对这个句子进行改写后会变得不符合正常的代码表述逻辑,且失去其原本意义,所以不建议进行这样的改写。但按照要求改写如下:引入,属于有机化合物的,被简称为特定名称的,用于表示一种映射关系的,在网络。
导入,用于表示,与Spring框架相关的技术,具体为,用于处理,和提供,基于Web的,响应式,控制功能的,注解,即名为,org.springframework.web.bind.annotation.RestController的,这个注解 。
import java.util.List;
@RestController
公开的类,名为分数控制器,它是这样的,{ }。
@Autowired
private ScoreBiz scoreBiz;
@GetMapping("/insert")
private String insert(){
scoreBiz.insertScores();
return "successfully";
}
@GetMapping("/getAll")
private List getAll(){
return scoreBiz.getAll();
}
}
特此专门进行说明,正常的操作途径应当是借助POST请求给予发起,鉴于要方便借助浏览器展开测试,在此处转变为通过GET请求予以发起。
9、进行文件修改,将程序用于监听的端口设置成8987,还要把连接的配置信息妥善设置好 。
server.port=8987
spring.data.mongodb.authentication - database, 等于, db_student 。
spring,data,mongodb,database,等于,db_student。
春天的数据,Mongo数据库的主机号,等于,127点0点0点1 。
弹起,的数据,蒙古,数据库,端口,等于,二七零,一七,句号。
春天的数据,关于mongodb的用户名,等于管理员 。
spring.data.mongodb的密码是,112233 。
10、对pom.xml文件作出修改,增添编译以及打包的信息,完整的pom.xml文件内容如下:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.3.4.RELEASE
com.flying
score
1.0.1
score
Score project for Spring Boot
1.8
org.springframework.boot
春天启动器数据蒙戈数据库,它是一种,用于在春天框架中,启动相关数据操作功能,针对蒙戈数据库的工具组件。
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.json
json
20180813
score
org.apache.maven.plugins
maven-jar-plugin
*.properties
*.txt
*.xml
true
score_lib/
false
com,flying,关于得分的,那个ScoreApplication ,这几个相关的组合 ,构成了这样一个特定的内容 。
./resources/
${project.build.directory}
org.apache.maven.plugins
maven-dependency-plugin
copy-dependencies
package
copy-dependencies
该项目构建的目录下的得分库文件夹,/ 得分库文件夹 /。
maven-resources-plugin
copy-resources
package
copy-resources
src/main/resources
这个项目构建的目录下的资源 ,资源所在位置是该项目构建的目录 。
11、于IDEA的窗口之中,将mvn clean -命令予以执行,达成软件的编译以及打包这一操作:
编译成功之后,寻觅之可看见生成的目录哟,而且此目录之下存在着我们所需求的目录呀、目录呀以及score.jar文件呢:
以下是改写后的句子:把生成的那个目录,还有目录以及score.jar文件,一同拷贝到目标操作系统,我是比较偏好Linux的,我所使用的就是操作系统 。
先登录Linux,接着进入到那个刚刚进行文件拷贝操作之后所抵达的目录,随后再去执行java -jar score.jar这条命令intellij idea golang plugin,以此启动我们所生成了的程序。
十五、把浏览器打开,于地址栏当中输入http://192.168.101.223:8987/,察觉到浏览器将会呈现出信息:
这时,于命令行之下,我们对集合展开查询,能够发觉,4位学生的成绩已然被存入数据库了:
对数据库对象db中的集合物件col_score进行查找操作,所得结果以美观的形式呈现,。
{
“_id”,它是ObjectId类型,其值为“5f7193fe89d5e031a590abf1” 。
"姓名" : "张文",
"院系" : "中文系",
"英语" : 92,
"古汉语" : 88
}
{
该对象的标识为,由“ObjectId”所指的,“5f7193ff89d5e031a590abf2”,。
"姓名" : "李静",
"院系" : "法律系",
"英语" : 62,
"行政法" : 73,
"刑法" : 69
}
{
“_id”,它是ObjectId类型,其值为“5f7193ff89d5e031a590abf3”, 。
"姓名" : "王力",
"院系" : "外语系",
"英语" : 99,
"马克思主义" : 86
}
{
“_id”,其为ObjectId类型的值,值为“5f7193ff89d5e031a590abf4” 。
"姓名" : "赵正",
"院系" : "电子系",
"英语" : 99,
"数字电子技术" : 93,
"模拟电子技术" : 96,
"大学物理" : 88
}
把这个地址,也就是http://192.168.101.223:8987/,输入到地址栏当中,会察觉到浏览器在显示当中,所呈现之物乃是所有那些身为的成绩方面的信息 。
首先intellij idea golang plugin,我们并未专门开展前端开发工作,然而,浏览器仅能够以一种较为简单的方式去呈现所接收到的数据信息,结果呈现出来的状况是,看起来显得十分杂乱 。
当下,已然提及到了NoSQL数据库经由开展操作的主题这个方面了,后续还会持续深入叙述其它饶有趣味的主题。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码