spring rest 怎么去掉mysql链接

spring rest 怎么去掉mysql链接,第1张

工具/原料

IntelliJ IDEA

MySql

方法/步骤

新建Spring Boot项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)。

配置基本属性 在application.properties里配置数据源和jpa的相关属性

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/springboot

spring.datasource.username=root

spring.datasource.password=123456

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

spring.jackson.serialization.indent_output=true

定义映射实体类

定义Controller类

@RestControllerpublic class PersonCtroller {

@AutowiredPersonServer personServer

@RequestMapping("/rollback")

public Person rollback(Person person){

return personServer.savePersonWithRollBack(person)

}

@RequestMapping("/norollback")

public Person noRollback(Person person){

return personServer.savePersonWithOutRollBack(person)

}

}

定义数据访问层

public interface PersonRepository extends JpaRepository<Person, Long>{}

定义Server层

@Servicepublic class PersonServerImp implements PersonServer {

@Autowired

PersonRepository personRepository

@Transactional(rollbackFor = {IllegalArgumentException.class})

@Override

public Person savePersonWithRollBack(Person person) {

Person p = personRepository.save(person)

if (p.getName().equals("xxx")){

throw new IllegalArgumentException("用户已存在,数据会回滚")

}

return p

}

}

浏览器访问

MySQL支持全文索引和搜索功能。在MySQL中可以在CHAR、VARCHAR或TEXT列使用FULLTETXT来创建全文索引。

FULLTEXT索引主要用MATCH()...AGAINST语法来实现搜索:

MySQL的全文搜索存在以下局限:

通常来说MySQL自带的全文搜索使用起来局限性比较大,性能和功能都不太成熟,主要适用于小项目,大项目还是建议使用elasticsearch来做全文搜索。

ElasticSearch是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据,以下简称ES。

Elasticsearch 在 Apache Lucene 的基础上开发而成,Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件。Elastic Stack 是适用于数据采集、充实、存储、分析和可视化的一组开源工具。

Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据中心,再通过分词控制器去将对应的数据分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

由于ES是基于RESTfull Web接口的,因此我们直接按照惯例传递JSON参数调用接口即可实现增删改查,并且不需要我们做额外的管理 *** 作就可以直接索引文档,ES已经内置了所有的缺省 *** 作,可以自动帮我们定义类型。

再次执行PUT,会对库中已有的id为1的数据进行覆盖,每修改一次_version字段的版本号就会加1。

默认搜索会返回前10个结果:

返回的几个关键词:

查询字符串搜索,可以像传递URL参数一样传递查询语句。

精确查询:

全文搜索:

以上两种方法都需要考虑数据更改后如何与ES进行同步。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5917405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存