当前位置: 首页 > news >正文

浙江住建局官方网站旅游预定型网站建设

浙江住建局官方网站,旅游预定型网站建设,企业微信app下载安装二维码,全网营销推广怎么收费1. 前言#x1f525; PostgreSQL是一种广泛使用的开源关系型数据库#xff0c;具有可靠性高、性能优异、拥有丰富的数据类型和扩展等优点#xff0c;越来越多的企业和开发者开始使用它来存储和管理数据。而Spring Boot是一种快速开发的框架#xff0c;可以简化开发过程并提… 1. 前言  PostgreSQL是一种广泛使用的开源关系型数据库具有可靠性高、性能优异、拥有丰富的数据类型和扩展等优点越来越多的企业和开发者开始使用它来存储和管理数据。而Spring Boot是一种快速开发的框架可以简化开发过程并提高开发效率。本文将介绍如何使用Spring Boot集成PostgreSQL数据库以及实战中该如何使用它来进行开发。无论是初学者还是有一定经验的开发者都可以从中获得一些实用的技巧和经验。 那么这将又会是干货满满的一期全程无尿点不废话只抓重点教具有非常好的学习效果拿好小板凳准备就坐希望学习的过程中大家认真听好好学学习的途中有任何不清楚或疑问的地方皆可评论区留言或私信bug菌将第一时间给予解惑那么废话不多说直接开整Fighting  2. 环境说明 本地的开发环境 开发工具IDEA 2021.3JDK版本 JDK 1.8Spring Boot版本2.3.1 RELEASEMaven版本3.8.2 3. 正文  3.1 PostgreSQL简介 虽然MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库但是在学习PostgreSQL数据库之前我们总会将其与MySQL数据库进行一番对比。MySQL自称是最流行的开源数据库而PostgreSQL标榜自己是最先进的开源数据库那么PostgreSQL到底有多先进呢下面就让我们一起来认识一下。 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统是以加州大学计算机系开发的POSTGRES4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样PostgreSQL也可以用许多方法扩展例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外因为许可证的灵活任何人都可以以任何目的免费使用、修改和分发PostgreSQL。 3.2 PostgreSQL的优势 既然与MySQL同为关系型数据库那在什么场景选择MySQL什么场景选择PostgreSQL呢这是我们需要去思考的点PostgreSQL对比 MySQL来说都有哪些优势如果你有这些需求那么选择PostgreSQL肯定优于MySQL反之则MySQL数据库更佳。 接下来我给同学们大概总结下PostgreSQL都有那些优势 支持存储一些特殊的数据类型比如array、json、jsonb等。对地理信息的存储与处理有更好的支持所以它可以成为一个空间数据库更好的管理数据测量和几何拓扑分析。可以快速构建REST API通过PostgREST可以方便的为任何PostgreSQL数据库提供RESTful API的服务。支持树状结构可以更方便的处理具备此类特性的数据存储。外部数据源支持可以把MySQL、Oracle、CSV、Hadoop等当成自己数据库中的表来进行查询。对索引的支持更强PostgreSQL支持 B-树、哈希、R-树和 Gist 索引。而MySQL取决于存储引擎。MyISAMBTREEInnoDBBTREE。事务隔离更好MySQL 的事务隔离级别repeatable read并不能阻止常见的并发更新得加锁才可以但悲观锁会影响性能手动实现乐观锁又复杂。而 PostgreSQL 的列里有隐藏的乐观锁 version 字段默认的 repeatable read 级别就能保证并发更新的正确性并且又有乐观锁的性能。时间精度更高可以精确到秒以下。字符支持更好MySQL里需要utf8mb4才能显示emojiPostgreSQL没这个坑。存储方式支持更大的数据量PostgreSQL主表采用堆表存放MySQL采用索引组织表能够支持比MySQL更大的数据量。序列支持更好MySQL不支持多个表从同一个序列中取id而PostgreSQL可以。增加列更简单MySQL表增加列基本上是重建表和索引会花很长时间。PostgreSQL表增加列只是在数据字典中增加表定义不会重建表。 总而言之很多时候公司来择选对某个软件使用的熟练程度要比特性上的原因更重要。比如很多公司喜欢使用PostgreSQL因为它的可靠性好在保护数据方面很擅长而且是个社区项目不会陷入厂商的牢笼之中但MySQL更加灵活提供了更多选项来针对不同的任务进行裁剪。所以各有千秋并不存在哪一个数据库能够适用于所有情况。 3.3 下载与安装 这里针对Windows10系统为例下载PostgreSQL及如何进行安装如下是官网版本下载截图为了避免与Spring Boot存在版本兼容问题我们这里就选用PostgreSQL13.11版本来进行案例演示。 3.3.1 官网下载 打开官网下载链接然后选择PostgreSQL13.11 点击Windows x86-64 进行下载。 3.3.2 安装 下载完后进行PostgreSQL的安装。这里我就不一一演示了 其中安装路径及设置数据库密码这里我们优先选择存放在非C盘位置。 接着设置数据库密码我们默认123456 毕竟好记。 然后一路next即可端口号【5432】你们设置默认。  最后点击Finish即可完成安装。 3.3.3 打开pgAdmin4 稍等几分钟后即可安装完成然后从[开始]找到【PostgreSQL13】附带有个pgAdmin4。因为安装PostgreSQL客户端就自带了界面化的管理工具所以说如果你用过MySql等任何关系型数据库的话基本上你不用怎么入门学习直接上手操作。 然后选择PostgreSQL13这里输入你安装时设置的密码【123456】左下角勾选上【Save Password】这样每次就不需要额外输入密码了。 然后点击【OK】即可。 如上就已经完全安装完成了可供项目连接使用了。 4.Spring Boot中集成与使用 在你的本地安装好了PostgreSQL之后接下来我们就在Spring Boot项目中实战使用PostgreSQL数据库。 4.1 创建SpringBoot项目 创建一个基础的Spring Boot项目如果你还不会可以参考我的这篇文章快速入门 4.2 引入依赖 在你的项目pom.xml中引入访问PostgreSQL所需要的两个重要依赖其中Mybatis你可以替换成jpa dependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactIdscoperuntime/scope/dependency!--mybatis-plus--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.2.0/version/dependency 这里PostgreSQL依赖是必定要导入的mybatis-plus-boot-starter 依赖你还可以替换成其他的数据访问封装框架比如Mybatis、Jpa等具体根据你的使用习惯来定。因为已经是更上层的封装所以基本使用与MySQL是类似的所以你可以参考我之前MySQL的文章进行配置但有一点指定数据源连接部分请参考如下 spring:datasource:driver-class-name: org.postgresql.Driverurl: jdbc:postgresql://localhost:5432/pg_testusername: postgrespassword: 123456 4.3 创建数据库 在创建表格之前需要先创建一个数据库。可以使用命令行或者pgAdmin4等数据库管理工具来创建。这里我们就直接在pgAdmin4可视化工具上进行创建。 4.3.1 创建Database 这里直接选择Databases ,然后右键即可看到【Create】选项我们选择【Databes...】选项即可截图如下演示。 接着设置数据库名其他的默认即可。 4.3.2 创建表 创建完数据库后我们打开依次打开 pg_test  -- Schemas1-- public -- Tables 接着选择【Tables】右击选择【Create】-- 【Table...】 先设置表名及描述截图请参考如下 4.3.3 创建表字段 接着在创建表的页面上进行表字段的创建同页切换到【Colums】即可。如下按字段依次添加设置最后点击Save。 到此数据库及表就创建完成了接下来我们就可以通过项目来进行测试了。 4.4 创建用户信息实体 这里我们举例创建一个用户实体映射到user表最后完成可在pgAdmin4中查看 package com.example.demo.entity;import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.Id;import javax.persistence.GeneratedValue;Data NoArgsConstructor//无参构造 TableName(public.pg_user) //指定是public下的pg_user public class PgUser {IdGeneratedValueprivate Long id;private String name;private Integer age;public PgUser(Long id,String name, Integer age) {this.id id;this.name name;this.age age;}public PgUser(String name, Integer age) {this.name name;this.age age;}}需要注意的是这里必须指定表名[TableName(public.pg_user)]如果你不指定必定会导致如下报错。 4.5 创建增删改查接口 这里我们创建两个接口供查询。 package com.example.demo.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.demo.entity.PgUser; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.data.elasticsearch.annotations.Query; import org.springframework.stereotype.Component;import java.awt.*;/*** author luoYong* version 1.0* date 2023/8/7 17:36*/ Component public interface PgUserRepository extends BaseMapperPgUser {Select(select * from public.pg_user where name#{name} and age#{age})PgUser findByNameAndAge(Param(name)String name,Param(age)Integer age);Select( select * from public.pg_user where name #{name})PgUser findUser(Param(name) String name); }4.6 创建单元测试 这里我们直接创建测试用户实体增删改查的测试类具体如下 4.6.1 增操作 这里我们对表进行数据插入如下是插入数据代码演示 Testpublic void insertTest() throws Exception {pgUserRepository.insert(new PgUser(1L, 赵云, 8));pgUserRepository.insert(new PgUser(2L, 黄忠, 34));pgUserRepository.insert(new PgUser(3L, 张飞, 27));pgUserRepository.insert(new PgUser(4L, 貂蝉, 31));pgUserRepository.insert(new PgUser(5L, 关羽, 66));} 执行测试用例成功截图请看  我们也可以打开pgAdmin4手写sql查询语句进行验证。 4.6.2 删操作 通过指定id进行对数据进行删除具体测试用例如下 //根据指定id进行数据查询Testpublic void deleteByIdTest() {Assertions.assertEquals(1, pgUserRepository.deleteById(1));}执行完后我们可以看下控制台指定id1的这条数据是否被成功执行删除 很明显是执行成功了。  4.6.3 改操作 通过指定id进行对数据进行修改具体测试用例如下 //根据指定id进行数据修改Testpublic void updateById() {PgUser pgUser pgUserRepository.selectById(1);System.out.println(修改前 pgUser.toString());pgUser.setAge(100);pgUser.setName(bug菌);Assertions.assertEquals(1, pgUserRepository.updateById(pgUser));System.out.println(修改后 pgUser.toString());} 执行完后我们可以看下控制台新旧数据是够被更新成功 我们也可以打开pgAdmin4手写sql查询一波进行验证数据是我们修改后的数据。 4.6.4 查操作 这里我们通过指定name进行查询具体测试用例如下 //根据指定name进行数据查询Testpublic void queryByNameTest() {PgUser pgUser pgUserRepository.findUser(bug菌);System.out.println(pgUser.toString());} 执行完后我们可以看下控制台name bug菌的数据成功被查询到 再来写个组合查询语句例如通过 name 和 age组合查询大家请看 //根据指定name和age组合进行数据查询Testpublic void queryByNameAndAgeTest() {PgUser pgUser pgUserRepository.findByNameAndAge(bug菌,100);System.out.println(pgUser.toString());} 执行完后我们可以看下控制台也是成功拿到了该条数据。 ... 好啦到这里我们就已经大概都讲解完了觉得讲的不错的希望不要吝啬你手中的大拇哥呢给bug菌点个赞就是我写作的最大动力。 5. 热文推荐 滴~如下推荐【Spring Boot 进阶篇】的学习大纲请小伙伴们注意查收。 Spring Boot进阶(01)Spring Boot 集成 Redis实现缓存自由 Spring Boot进阶(02)使用Validation进行参数校验 Spring Boot进阶(03)如何使用MyBatis-Plus实现字段的自动填充 Spring Boot进阶(04)如何使用MyBatis-Plus快速实现自定义sql分页 Spring Boot进阶(05)Spring Boot 整合RabbitMq实现消息队列服务 Spring Boot进阶(06)Windows10系统搭建 RabbitMq Server 服务端 Spring Boot进阶(07)集成EasyPoi实现Excel/Word的导入导出 Spring Boot进阶(08)集成EasyPoi实现Excel/Word携带图片导出 Spring Boot进阶(09)集成EasyPoi实现Excel文件多sheet导入导出 Spring Boot进阶(10)集成EasyPoi实现Excel模板导出成PDF文件 Spring Boot进阶(11)Spring Boot 如何实现纯文本转成.csv格式文件 Spring Boot进阶(12)Spring Boot 如何获取Excel sheet页的数量 Spring Boot进阶(13)Spring Boot 如何获取ApiModelProperty(value “序列号“, name “uuid“)中的value值name值 Spring Boot进阶(14)Spring Boot 如何手动连接库并获取指定表结构一文教会你 Spring Boot进阶(15)根据数据库连接信息指定分页查询表结构信息 Spring Boot进阶(16)Spring Boot 如何通过Redis实现手机号验证码功能 Spring Boot进阶(17)Spring Boot如何在swagger2中配置header请求头等参数信息 Spring Boot进阶(18)SpringBoot如何使用Scheduled创建定时任务 Spring Boot进阶(19)Spring Boot 整合ElasticSearch Spring Boot进阶(20)配置Jetty容器 Spring Boot进阶(21)配置Undertow容器 Spring Boot进阶(22)Tomcat与Undertow容器性能对比分析 Spring Boot进阶(23)实现文件上传 Spring Boot进阶(24)如何快速实现多文件上传 Spring Boot进阶(25)文件上传的单元测试怎么写? Spring Boot进阶(26)Mybatis 中 resultType、resultMap详解及实战教学 Spring Boot进阶(27)Spring Boot 整合 kafka(环境搭建演示) Spring Boot进阶(28)Jar包Linux后台启动部署及滚动日志查看日志输出至实体文件保存 Spring Boot进阶(29)如何正确使用PathVariableRequestParam、RequestBody等注解不会我教你结合Postman演示 Spring Boot进阶(30)RestController和Controller 注解使用区别实战演示 ... 6. 文末 如果想系统性的学习Spring Boot小伙伴们直接订阅bug菌专门为大家创建的Spring Boot专栏《滚雪球学Spring Boot》从入门到精通从无到有从零到一以知识点实例项目的学习模式由浅入深对Spring Boot框架进行学习使用。 如果你有一定的基础却又想精进Spring Boot那么《Spring Boot进阶实战》将会是你的最好的选择此栏进行知识点实例项目的学习方式全面深入框架剖析及各种高阶玩法励志打造全网最全最新springboot学习专栏投资学习自己性价比最高。 本文涉及所有源代码均已上传至github开源供同学们一对一参考GitHub同时原创开源不易欢迎给个star想体验下被加Star的感jio非常感谢 ❗ 我是bug菌一名想走出大山改变命运的程序猿。接下来的路还很长都等待着我们去突破、去挑战。来吧小伙伴们我们一起加油未来皆可期fighting ​ 关注公众号获取最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等硬核资源
http://www.sczhlp.com/news/196983/

相关文章:

  • 福州建设网站平面设计提升培训机构
  • 自己创建的网站怎么做流量网站建设 推广全流程
  • 做任务的正规网站网上商城介绍
  • 最好网站建设公司排名网页设计大作业模板
  • 精品网站建设需要多少钱单页网站制作视频教程
  • 怎么建设课程网站资讯主题 wordpress
  • 包头市建设工程质量监督站网站南京市高淳县建设厅网站
  • 江永网站建设怎么在百度提交自己的网站
  • 织梦网站更改标题长度陕西省建设网三类人员报名
  • 苏州企业网站建设定制wordpress下载网站
  • 平顶山建设网站自己做网站除了域名还要买什么
  • 企业定制网站开发维护合同wordpress连载小说插件
  • 威远移动网站建设聊城网站推广公司
  • 沈阳设计网站公司哪家好网站建设电销
  • 网站建设策划书目录创意的广告公司名字
  • 最好网站建站公司阿里云域名注册步骤
  • 随州程力网站建设上街区网站建设
  • 网站开发工具有制作灯笼英语
  • 盐城网站建设培训新型互联网项目代理
  • 完整教程:Docker搭建ESPIDF环境,程序下载
  • 基于Java+Springboot+Vue开发的体育用品购物销售商城管理系统源码+运行步骤
  • AI Agent 产品推荐方案
  • 乐清 网站建设wordpress上传服务器域名
  • 化工网站模板免费下载东莞常平招聘信息
  • 餐馆网站怎么做的wordpress配置邮箱
  • 做简历网站知乎在线定制头像免费
  • 南宁3及分销网站制作公司网页制
  • 公司做公司网站广告可以免费打广告的网站
  • 怎样做克隆网站wordpress 教育主题
  • wdcp搭建网站教程铜山区建设局网站