commit 68bbdd2eac0e2475508505eaba36839fac55bd59 Author: snoop Date: Fri Jun 2 18:57:49 2017 +0900 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02bd97a --- /dev/null +++ b/.gitignore @@ -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/ + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2919ed2 --- /dev/null +++ b/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + + com.loafle + maven_parent_jar + 1.0.0-RELEASE + + + com.loafle + overflow_keystore + jar + 1.0.0-SNAPSHOT + com.loafle.overflow_keystore + + + + + org.hibernate + hibernate-entitymanager + 5.2.10.Final + + + + com.loafle + overflow_member + 1.0.0-SNAPSHOT + + + + com.loafle + overflow_jpa_base_dao + 1.0.0-SNAPSHOT + + + + org.postgresql + postgresql + 9.4-1200-jdbc41 + + + + + + \ No newline at end of file diff --git a/src/main/java/com/loafle/overflow/keystore/model/Apikey.java b/src/main/java/com/loafle/overflow/keystore/model/Apikey.java new file mode 100644 index 0000000..a9f1da2 --- /dev/null +++ b/src/main/java/com/loafle/overflow/keystore/model/Apikey.java @@ -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; + } +} diff --git a/src/main/java/dao/ApiKeyDao.java b/src/main/java/dao/ApiKeyDao.java new file mode 100644 index 0000000..7b9c663 --- /dev/null +++ b/src/main/java/dao/ApiKeyDao.java @@ -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 findByApiKey(Apikey apikey); +} diff --git a/src/main/java/dao/JPAApiKeyDao.java b/src/main/java/dao/JPAApiKeyDao.java new file mode 100644 index 0000000..384a578 --- /dev/null +++ b/src/main/java/dao/JPAApiKeyDao.java @@ -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 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; + } + + } +} diff --git a/src/main/resources/_ b/src/main/resources/_ new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/loafle/AppTest.java b/src/test/java/com/loafle/AppTest.java new file mode 100644 index 0000000..9925fa3 --- /dev/null +++ b/src/test/java/com/loafle/AppTest.java @@ -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()); + + + + } +} \ No newline at end of file diff --git a/src/test/resources/META-INF/persistence.xml b/src/test/resources/META-INF/persistence.xml new file mode 100644 index 0000000..695ba64 --- /dev/null +++ b/src/test/resources/META-INF/persistence.xml @@ -0,0 +1,18 @@ + + + + + com.loafle.overflow.member.model.Member + com.loafle.overflow.keystore.model.Apikey + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml new file mode 100644 index 0000000..102444f --- /dev/null +++ b/src/test/resources/logback.xml @@ -0,0 +1,17 @@ + + + overflow_keystore + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{32} - %msg%n + + + + + + + + + \ No newline at end of file