first commit

This commit is contained in:
snoop 2017-06-02 18:57:49 +09:00
commit 68bbdd2eac
9 changed files with 266 additions and 0 deletions

29
.gitignore vendored Normal file
View File

@ -0,0 +1,29 @@
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
target/
*.iml
.idea/

48
pom.xml Normal file
View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.loafle</groupId>
<artifactId>maven_parent_jar</artifactId>
<version>1.0.0-RELEASE</version>
</parent>
<groupId>com.loafle</groupId>
<artifactId>overflow_keystore</artifactId>
<packaging>jar</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>com.loafle.overflow_keystore</name>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>com.loafle</groupId>
<artifactId>overflow_member</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.loafle</groupId>
<artifactId>overflow_jpa_base_dao</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1200-jdbc41</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,61 @@
package com.loafle.overflow.keystore.model;
import com.loafle.overflow.member.model.Member;
import javax.persistence.*;
import java.util.Date;
/**
* Created by root on 17. 6. 1.
*/
@Entity
@Table(name ="API_KEY")
public class Apikey {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Long id;
@Column(name="API_KEY", unique=true, nullable=false)
private String apiKey;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CREATE_DATE", nullable=false)
private Date createDate;
@ManyToOne
@JoinColumn(name = "MEMBER_ID", nullable=false)
private Member member;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getApiKey() {
return apiKey;
}
public void setApiKey(String apiKey) {
this.apiKey = apiKey;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Member getMember() {
return member;
}
public void setMember(Member member) {
this.member = member;
}
}

View File

@ -0,0 +1,11 @@
package dao;
import com.loafle.overflow.commons.dao.BaseDAO;
import com.loafle.overflow.keystore.model.Apikey;
/**
* Created by root on 17. 6. 1.
*/
public interface ApiKeyDao extends BaseDAO<Apikey> {
Apikey findByApiKey(Apikey apikey);
}

View File

@ -0,0 +1,27 @@
package dao;
import com.loafle.overflow.commons.dao.JPABaseDAO;
import com.loafle.overflow.keystore.model.Apikey;
import javax.persistence.Query;
/**
* Created by root on 17. 6. 1.
*/
public class JPAApiKeyDao extends JPABaseDAO<Apikey> implements ApiKeyDao {
public Apikey findByApiKey(Apikey apikey) {
Query query = getEntityManager().createNativeQuery("SELECT ak.* FROM API_KEY ak WHERE ak.API_KEY = :apikey", Apikey.class);
query.setParameter("apikey", apikey.getApiKey());
Apikey ak = null;
try {
ak = (Apikey)query.getSingleResult();
}catch(Exception e) {
e.printStackTrace();
}finally {
return ak;
}
}
}

0
src/main/resources/_ Normal file
View File

View File

@ -0,0 +1,55 @@
package com.loafle;
import static org.junit.Assert.*;
import com.loafle.overflow.keystore.model.Apikey;
import com.loafle.overflow.member.model.Member;
import dao.JPAApiKeyDao;
import org.junit.Before;
import org.junit.Test;
import java.util.Date;
import java.util.logging.Logger;
public class AppTest {
private JPAApiKeyDao jpaApiKeyDao;
private static final Logger logger = Logger.getLogger(AppTest.class.getName());
@Before
public void Before() {
this.jpaApiKeyDao = new JPAApiKeyDao();
}
@Test
public void testCreateApikey() {
Apikey apikey = new Apikey();
apikey.setApiKey("1111111");
apikey.setCreateDate(new Date());
Member member = new Member();
member.setId((long)2);
apikey.setMember(member);
jpaApiKeyDao.create(apikey);
}
@Test
public void testFindApikey() {
Apikey apikey = new Apikey();
apikey.setApiKey("1111111");
Apikey a = this.jpaApiKeyDao.findByApiKey(apikey);
System.out.println(a.getId());
}
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="overflow">
<class>com.loafle.overflow.member.model.Member</class>
<class>com.loafle.overflow.keystore.model.Apikey</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://192.168.1.106:5432/postgres" />
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.user" value="vertx" />
<property name="javax.persistence.jdbc.password" value="qwe123" />
<!--<property name="hibernate.hbm2ddl.auto" value="create-drop"/>-->
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="3 seconds">
<contextName>overflow_keystore</contextName>
<!-- TRACE > DEBUG > INFO > WARN > ERROR -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{32} - %msg%n
</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
<logger name="com.loafle" level="ALL" />
</configuration>