Playframework에 MariaDB를 연결해보기
10492 단어 PlayFramework자바mariadb
이번에는 CentOS에 MariaDB를 설치하고 Playframework에서 데이터를 가져오고 싶습니다.
MariaDB 도입
# yum install mariadb mariadb-server
여기는 문제 없게 된다고 생각합니다. 다음은 대화형식으로 MariaDB의 초기설정을 합니다.
비밀번호 설정 이외에는 우선 Enter를 누르세요!
# mysql_secure_installation
이제 MariaDB에 액세스할 수 있어야 합니다.
액세스하면 적당히 데이터베이스를 만들어 버리자!
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 74
Server version: 5.5.50-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
MariaDB [(none)]> create database sample_db
프로젝트 설정
데이터베이스를 만들면 마지막으로 만든 프로젝트의 설정 파일 유형을 조금 만나게됩니다.
build.sbt
build.sbt 다음을 추가합니다.
build.sbt
"build.sbt" 13L, 200C
name := """sample"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava,PlayEbean)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
"org.mariadb.jdbc" % "mariadb-java-client" % "1.4.4"
)
conf/application.conf
application.conf에 다음을 추가합니다.
default.driver = org.mariadb.jdbc.Driver
default.url = "jdbc:mariadb://localhost:3306/sample_db"
default.username=USER_NAME
default.password = PASSWORD
dafault.url은 방금 만든 db를 작성합니다.
또한 username과 password 설정한 것입니다. (이번에는 user 설정은 하지 않으므로 root입니다.)
ebean {
default = ["models.entity.*"]
}
위가 없으면 추가입니다.
application.conf
db {
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
# https://www.playframework.com/documentation/latest/Developing-with-the-H2-Database
default.driver = org.mariadb.jdbc.Driver
default.url = "jdbc:mariadb://localhost:3306/sample_db"
default.username = USER_NAME
default.password = PASSWORD
# You can turn on SQL logging for any datasource
# https://www.playframework.com/documentation/latest/Highlights25#Logging-SQL-statements
#default.logSql=true
}
ebean {
default = ["models.entity.*"]
}
project/plugins.sbt
plugins.sbt에 다음을 추가합니다. (댓글 아웃)
plugins.sbt
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.2")
여기까지 오면, 한 번 activator를 시작해 보자.
모두 반영되어야합니다. . .
사용자를 얻기위한 앱 만들기 ...
먼저 이름과 이메일 주소만 보유하는 User 클래스를 만듭니다.
app 아래에 models.entity 패키지를 만들고 User 클래스를 만듭니다.
app/models/entity/User.java 만들기
User.java
package models.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import com.avaje.ebean.Model;
@Entity
@Table(name = "users")
public class User extends Model {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
@Column(name = "name")
public String name; // 名前
@Column(name = "mail_address", nullable = false)
public String mailAddress; // メールアドレス
public static Find<Long, User> find = new Find<Long, User>() {
};
}
세세한 설명은 다음 번이라고 하는 것으로. . .
우선 앞으로 나아갑니다.
User 클래스를 만든 후에는 한 번 activator를 시작합시다!
(순간 에러라고 생각합니다...)
"Apply this script now!"를 선택하면 User 클래스에서 정의한 테이블을 작성합니다.
이번에는 작성된 테이블에 적절한 사용자를 추가합시다!
app/controllers/HomeController.java에 추가
앱 만들기로 돌아갑니다.
이미 HomeController라는 클래스가 있다고 생각하기 때문에 거기에 다음을 추가합니다.
HomeController.java
import models.entity.User;
import java.util.List;
public Result showUser(){
List<User> user = User.find.findList();
return ok(userList.render(user));
}
여기서는 User 클래스에서 사용자 목록을 가져 와서 view로 전달합니다.
app/views/userList.scala.html 만들기
이어서 view를 작성합니다.
userList.scala.html
@(users: List[models.entity.User])
@main("UserList") {
<ul>
@for(user <- users){
<li>@user.name : @user.mailAddress</li>
}
</ul>
}
여기에서는 HomeController로 건네받은 List형의 User를 for문으로 돌려 이름과 주소를 표시하고 있습니다.
conf/routes 설정
마지막으로 라우팅
다음 추가
GET /users controllers.HomeController.showUser
application 시작
이 작업이 완료되면 activator를 시작하고 실행을 실행하고,
http://192.168.33.10:9000/우세 rs
방문하십시오.
와 간단하게 영웅들이 표시되었습니다.
이번은 이런 느낌으로 끝입니다.
또 다음에 이제 조금 DB로부터의 출납을 해 가고 싶습니다.
Reference
이 문제에 관하여(Playframework에 MariaDB를 연결해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/inomar/items/36ac1cbea87bce37ea96텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)