Play Framework + Postgres + Redis 项目环境搭建

接到一个2B的SaaS项目,要求使用 PlayFramework + Postgres 实现一个用户管理模块,使用session管理用户登录状态。目前项目环境未搭建,在此记录从0~1的过程。

一、安装PostgresQL

下载链接 https://pan.baidu.com/s/1dFKsRZj

安装教程 https://jingyan.baidu.com/article/7e44095318972a2fc0e2ef89.html

二、使用IntelliJ IDEA搭建开发环境

1、安装Scala插件

打开IDEA安装Scala插件,Scala插件包含了对Scala, sbt, Play的支持。

安装方法:点击左上角的Files->Settings->plugins->Install Jetbrains Plugins 如图所示 输入图片说明

然后在弹出框中输入Scala,选中对应插件点击 Install,等待安装完成重启 IDEA即可。 输入图片说明

2、新建或导入play项目

笔者是直接导入的项目,第一次导入,没有选择SBT方式导入的选项,导入之后,idea会提示下载很多依赖包,但是运行不起来,解决办法如下:

直接删除刚导入的项目,然后重新导入一次,可以选择SBT方式导入,把download resource勾选框去掉。然后就可以运行了。

3、运行项目

在IDEA的 SBT Shell 中,依次运行 clean compile run 命令,即可运行play项目

输入图片说明

运行效果如下:

输入图片说明

4、无法新建class文件的解决办法

File -> Settings -> Languages & Frameworks -> OSGi Framework Instances -> Play2

将Use Play 2 compiler for this project 勾选上,如下图:

输入图片说明

三、Play框架中的postgresQL数据库连接配置

1、修改application.conf配置

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/postgres"
db.default.user=postgres
db.default.pass=yourpassword
# Ebean configuration
ebean.default="models.*"

2、修改build.sbt配置

加入下列依赖

libraryDependencies += javaCore
libraryDependencies += javaJdbc
libraryDependencies += "postgresql" % "postgresql" % "9.1-901.jdbc4" //可能存在版本低会造成无法运行的问题,此时需要手动导入新的jdbc驱动jar包,具体操作见 3、异常及处理方式

3、异常及处理方式【大坑】

加了上面的配置之后,再启动项目,可能会遇到两个错误

a、Driver org.postgresql.Driver claims to not accept jdbcUrl

该问题笔者已经解决,出在application的数据库连接配置上,一是url开头要加上 jdbc: 二是 jdbc: 后面的postgresql 不能写成 postgres

b、Exception : Method org.postgresql.jdbc4.Jdbc4Connection.isValid(int) is not yet implemented

该问题经过排查,确定了是postgres的驱动jar包版本太低导致,去官网上下载最新的jar包

下载地址:https://jdbc.postgresql.org/download.html

选择最新的驱动jar包下载即可。

然后是jar包的导入。

首先,在项目根目录下新建lib文件夹。

其次,将下载好的驱动包放进去

然后,IDEA左上角 File -> Project Structure -> Project Settings -> Moudles -> Dependencies

添加本地库lib。

输入图片说明

四、使用Ebean操作数据库

1、application.conf文件添加配置

# Ebean configuration
ebean.default="models.*"

2、plugin.sbt文件添加配置

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.6")

3、build.sbt修改配置

lazy val root = (project in file(".")).enablePlugins(PlayJava,PlayEbean)

之后就可以在models层新建文件操作数据库啦

五、补充说明

1、关于第三方jar包

自己引入的第三方jar包,只要放在根目录的lib文件夹下,那么项目编译、打包时会自动将lib文件夹下的所有jar包加入到 sbt assembly 里面去,不用再在build.sbt里面添加配置。

转载于:https://my.oschina.net/chyblog/blog/1794833

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值