playframework链接MySQL数据库的问题

Scala 在米国已经发展的如火如荼,有些人甚至说Scala将成为未来语言的头号交椅。简洁的代码和表达式的写法让很多人倍感舒适,函数式和面向对象的编程范式也让其能在多种场合游刃有余的被使用。加之它是跑在JVM虚拟机上的,可以完美的调用java,让很多现存的技术可以继续保留,降低了维护成本。但是,Scala过度复杂的语法也让无数开发者头疼,知乎上有人说他是“全宇宙最难学的语言”,我想说“呵呵”,事在人为嘛,我们要有“铁杵磨成针”的态度,不会的慢慢学,年轻就应该这么任性!!

好了,扯了这么多废话,让我们进入主题:如何使用playframework 来连接数据库。playframework是当下比较流行的开发框架,java和Scala都可以使用,但是Scala用的比较多一点。在这里我用的是Scala。

正式开始:

1、首先创建一个工程,名字为:HelloWorld;

不建议用IDE创建,因为现在IntelliJ idea和Eclipse做的Scala插件还不够好用,开发中会出现很多问题,建议用typeSafe魔板创建。

2、打开工程的bulid.sbt文件;加上这么一句:

    3、然后将mysql的驱动也加上


  在sbt中加入了新的依赖以后,一定要记得refresh一下,这样sbt才能将新加的东西加入。

4、接下来,我们打开conf/application.conf文件,


将自己的数据库链接信息添上去。

注意,如果想链接多个数据源,只需要修改“db.default.driver”就可以,注意“db.default.driver”中“default”是数据源的名字,可以修改。例如,你想创建一个“abc”数据源,就可以写成“db.abc.driver”

,在代码中获取数据源的时候,就写成DB.getDataSource("abc"),如果想获取默认数据源(default),可以直接写成DB.getDataSource(),因为:
这是源码,显而易见了吧。而且通过源码,可以知道,play用的数据库链接池是BoneCP,这是一个很棒的数据库连接池,比DBCP和C3P0要快很多,但是没有HikariCP快,BoneCP的官方文档是这么说的:“It beats older connection pools such as C3P0 and DBCP but should now be considered deprecated in favour of HikariCP”不知道play以后会不会使用HikariCP作为数据库连接池。而且,play的数据库连接池是写死的,没法通过application.conf扩展数据库连接池(可以用其他途径扩展,如自己在sbt中依赖数据库连接池,然后不通过配置文件,用数据库本身的方法来获取数据源实现连接。),个人感觉应该改良一下,呵呵,勿拍砖,已包扎。

6、用play自带的连接池链接数据库

创建一个Db object,在object中写一个函数(或者一个成员变量也可以),获取数据源,连接数据库。

注意,一定要“import scala.slick.driver.MySQLDriver.simple._”和“import play.api.Play.current”,特别是后者,非常容易忘,因为“DB.getDataSource()”会需要一个隐式参数(第五步的源码图中可以看到),所以即使漏“play.api.Play.current”在IDE里编写也不会出错。

7、根据自己的数据库表,生成models(或者根据entity生成数据库表也可以)。如何生成可以查看slick文档

http://slick.typesafe.com/docs/。利用models,实现数据的增删改查。

当然喽还有其他方式可以实现数据库的链接,但是个人感觉这是最好的方式。typeSafe中的给的几个例子都是基于DBAction的,个人感觉这样有些弊端,因为如果用DBAction的话,controller层和model层就不紧密结合了,不符合play本身MVC的设计模式。

以上。

时间: 2024-10-14 15:48:22

playframework链接MySQL数据库的问题的相关文章

php链接Mysql数据库

PHP链接Mysql数据库: 1:首先打开软件(WampServer再点击鼠标左键,再点phpMYAdmin最后打开的页面是 再填用户名,密码可以写不可写,最后再点执行就出现这个页面 再点test新建表名)最后就在mysql里面创建表格,在表格里面可以添加数据.查询数据.删除数据.修改数据 例: (1):添加数据INSERT INTO `message`(`id`, `user`, `title`, `content`, ` lda te`) VALUES ('','张三','学习php','飞

PHP链接Mysql数据库的小知识

1:在PHP写隔行变色有三种写法(但是最好的是用js+css) (1)CSS: tr:nth-child(even){             background: #cad9ea;         } even:代表偶数: ood:代表奇数:   (2)PHP: <?php                 if($n %2 == 0){            ?>            <tr style="background: #cad9ea"> <

JSP_实现Servlet登陆,注册,链接Mysql数据库。

本文http://blog.csdn.net/svitter 也是一个MVC的实例 源码:http://download.csdn.net/detail/svitter/7532621 user.sql: -- phpMyAdmin SQL Dump -- version phpStudy 2014 -- http://www.phpmyadmin.net -- -- 主机: localhost -- 生成日期: 2014 年 06 月 21 日 17:42 -- 服务器版本: 5.5.38 -

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题以及更改mysql默认编码

JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题: 前言,服了这些大公司,做的数据库都不人性化...我忙了很久才搞定的说 csdn好像传不了图片了...本来想来几张的,大家将就... 1.在windows下mysql的数据库是utf8编码的时候,连接失败(注意mysql中不是UTF-8,而是utf8) 情况,显示?在网页上(网页设置的UTF-8编码) 用户ID号码 用户名称 用户密码 用户地址 47 g? 1243 null 48 ? 1243 null 49 ?123

pydev-python 链接mysql数据库(mac系统)

1.首先实现命令行下可运行mysql 这一部分网上有一位大神说的已经很清楚了,直接引用过来,多谢哈.引用:http://www.lihui.info/mac-pydev-mysqldb/ 在mac os上安装MySQLdb,遇到了很多问题,总结一下: 首先,如果用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突. 所以只能自

Python3链接MySQL数据库

Python 2.x 上连接MySQL的库倒是不少的,其中比较著名就是MySQLdb(Django项目都使用它:我也在开发测试系统时也使用过),见:http://sourceforge.net/projects/mysql-python/ 不过,目前MySQLdb并不支持python3.x,网上找了一些方法,后来我还是偶然发现MySQL官方已经提供了MySQL连接器,而且已经有支持Python3.x的版本了.MySQL Connector/Python, a self-contained Pyt

JDBC链接Mysql数据库+执行sql

package com.wangbingan.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /**  * JDBC链接数据库  *   * @author Administrator  *   */ public class JdbcUtil { public static void main(Strin

SQLServer 远程链接MySql数据库

第一步:安装MySQL odbc driver 在SQL SERVER所在主机上安装MYSQL ODBC Driver; 下载地址:http://dev.mysql.com/downloads/connector/odbc/ 找到合适自己操作系统的版本下载并安装 第二步:配置ODBC数据源 打开[管理工具]—>[数据源(ODBC)],选择[系统DSN],点击[添加],选择[MySQL ODBC 5.3  Unicode Driver],完成 输入自定义的数据源名称XXX和描述,输入要连接的mys

Windows7-32位系统下R语言链接mySQL数据库步骤

安装R和MySQL在此就不再多说了,网上有很多教程可以找到.下面直接进入到odbc的安装流程. 1.下载安装mysql-connector-odbc-5.x.x-win32.msi 下载地址:http://dev.mysql.com/downloads/connector/odbc/可下载最新版本 但在安装过程中遇到以下问题(经测试win10-64位版本下安装mysql-connector-odbc-5.3.6-winx64.msi不会出现该问题): Error 1918. Error inst