5 Commits

Author SHA1 Message Date
s-sakiyama
647829924d HTML Q1 2026-10-07 16:24:58 +09:00
s-sakiyama
c7eb251d1f Q4 2026-10-07 15:31:33 +09:00
s-sakiyama
85e95d5104 Q3 2026-10-06 16:48:54 +09:00
s-sakiyama
0a7c131a9b Q2 2026-10-06 14:09:58 +09:00
s-sakiyama
0e9d55c1a2 Q1 2026-10-06 12:58:19 +09:00
29 changed files with 665 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
package com.example.demo;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringExampleApplication.class);
}
}

View File

@@ -0,0 +1,29 @@
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import com.example.demo.presentation.Q3View;
@SpringBootApplication
//@Import(Q2Config.class)//Q2
public class SpringExampleApplication {
public static void main(String[] args) {
//Q1
// ConfigurableApplicationContext context = SpringApplication.run(SpringExampleApplication.class, args);
// Q1View view = context.getBean(Q1View.class);
// view.mailpassPrint();
//Q2
// ConfigurableApplicationContext context = SpringApplication.run(SpringExampleApplication.class, args);
// Q2View view = context.getBean(Q2View.class);
// view.mailpassPrint();
//Q3
ConfigurableApplicationContext context = SpringApplication.run(SpringExampleApplication.class, args);
Q3View view = context.getBean(Q3View.class);
view.usernameSearch();
}
}

View File

@@ -0,0 +1,27 @@
package com.example.demo.application;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.demo.domain.Q1Entity;
import com.example.demo.logic.Q1Logic;
import com.example.demo.service.Q1Service;
@org.springframework.stereotype.Controller
public class Q1Controller {
@Autowired
Q1Service ser;
@Autowired
Q1Logic log;
public String displaySentence(String mail, String pass) {
if (mail.length() > 256) {
return "メールアドレスもしくはパスワードが不正です";
}
if (pass.length() < 8) {
return "メールアドレスもしくはパスワードが不正です";
}
Q1Entity ent = ser.getEntity(mail, pass);
return log.stringCreate(ent.getMailAddress(), ent.getPassword());
}
}

View File

@@ -0,0 +1,26 @@
package com.example.demo.application;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.demo.domain.Q2Entity;
import com.example.demo.logic.Q2Logic;
import com.example.demo.service.Q2Service;
public class Q2Controller {
@Autowired
Q2Service ser;
@Autowired
Q2Logic log;
public String displaySentence(String mail, String pass) {
if (mail.length() > 256) {
return "メールアドレスもしくはパスワードが不正です";
}
if (pass.length() < 8) {
return "メールアドレスもしくはパスワードが不正です";
}
Q2Entity ent = ser.getEntity(mail, pass);
return log.stringCreate(ent.getMailAddress(), ent.getPassword());
}
}

View File

@@ -0,0 +1,28 @@
package com.example.demo.application;
import org.springframework.stereotype.Controller;
import com.example.demo.logic.Q3Logic;
import com.example.demo.service.Q3Service;
@Controller
public class Q3Controller {
private final Q3Service ser;
private final Q3Logic log;
public Q3Controller(Q3Service ser, Q3Logic log) {
this.ser = ser;
this.log = log;
}
public String usernameSearch(String mail, String pass) {
if (mail.length() > 256) {
return "メールアドレスもしくはパスワードが不正です";
}
if (pass.length() < 8) {
return "メールアドレスもしくはパスワードが不正です";
}
return log.match(ser.allDateGet(), mail, pass);
}
}

View File

@@ -0,0 +1,46 @@
package com.example.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.example.demo.SpringExampleApplication;
import com.example.demo.application.Q2Controller;
import com.example.demo.logic.Q2Logic;
import com.example.demo.persistence.Q2Dao;
import com.example.demo.presentation.Q2View;
import com.example.demo.service.Q2Service;
@Configuration
public class Q2Config {
private final SpringExampleApplication springExampleApplication;
Q2Config(SpringExampleApplication springExampleApplication) {
this.springExampleApplication = springExampleApplication;
}
@Bean
Q2View q2View() {
return new Q2View();
}
@Bean
Q2Controller q2Controller() {
return new Q2Controller();
}
@Bean
Q2Service q2Service() {
return new Q2Service();
}
@Bean
Q2Dao q2Dao() {
return new Q2Dao();
}
@Bean
Q2Logic q2Logic() {
return new Q2Logic();
}
}

View File

@@ -0,0 +1,76 @@
package com.example.demo.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_employee", nullable = false)
private Integer idEmployee;
@Column(name = "nm_employee", nullable = false)
private String nmEmployee;
@Column(name = "kn_employee", nullable = false)
private String knEmployee;
@Column(name = "mail_address", nullable = false)
private String mailAddress;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "id_department", nullable = false)
private Integer idDepartment;
public Integer getIdEmployee() {
return idEmployee;
}
public void setIdEmployee(Integer idEmployee) {
this.idEmployee = idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
this.nmEmployee = nmEmployee;
}
public String getKnEmployee() {
return knEmployee;
}
public void setKnEmployee(String knEmployee) {
this.knEmployee = knEmployee;
}
public String getMailAddress() {
return mailAddress;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getIdDepartment() {
return idDepartment;
}
public void setIdDepartment(Integer idDepartment) {
this.idDepartment = idDepartment;
}
}

View File

@@ -0,0 +1,28 @@
package com.example.demo.domain;
public class Q1Entity {
private String mailAddress;
private String password;
public Q1Entity(String mail, String pass) {
mailAddress = mail;
password = pass;
}
public String getMailAddress() {
return mailAddress;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

View File

@@ -0,0 +1,28 @@
package com.example.demo.domain;
public class Q2Entity {
private String mailAddress;
private String password;
public Q2Entity(String mail, String pass) {
mailAddress = mail;
password = pass;
}
public String getMailAddress() {
return mailAddress;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

View File

@@ -0,0 +1,10 @@
package com.example.demo.logic;
import org.springframework.stereotype.Component;
@Component
public class Q1Logic {
public String stringCreate(String mail, String pass) {
return ("メールアドレス:" + mail + " パスワード:" + pass);
}
}

View File

@@ -0,0 +1,7 @@
package com.example.demo.logic;
public class Q2Logic {
public String stringCreate(String mail, String pass) {
return ("Q2 メールアドレス:" + mail + " パスワード:" + pass);
}
}

View File

@@ -0,0 +1,22 @@
package com.example.demo.logic;
import java.util.List;
import org.springframework.stereotype.Component;
import com.example.demo.domain.Employee;
@Component
public class Q3Logic {
public String match(List<Employee> list, String mail, String pass) {
for (Employee emp : list) {
if (emp.getMailAddress().equals(mail) && emp.getPassword().equals(pass)) {
return emp.getNmEmployee();
}
}
return "該当のデータが存在しません。";
}
}

View File

@@ -0,0 +1,14 @@
package com.example.demo.persistence;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.example.demo.domain.Employee;
@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {
public List<Employee> findAll();
}

View File

@@ -0,0 +1,14 @@
package com.example.demo.persistence;
import org.springframework.stereotype.Repository;
import com.example.demo.domain.Q1Entity;
@Repository
public class Q1Dao {
public Q1Entity newInstance(String mail, String pass) {
Q1Entity entity = new Q1Entity(mail, pass);
return entity;
}
}

View File

@@ -0,0 +1,11 @@
package com.example.demo.persistence;
import com.example.demo.domain.Q2Entity;
public class Q2Dao {
public Q2Entity newInstance(String mail, String pass) {
Q2Entity entity = new Q2Entity(mail, pass);
return entity;
}
}

View File

@@ -0,0 +1,24 @@
package com.example.demo.presentation;
import java.util.Scanner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.example.demo.application.Q1Controller;
@Component
public class Q1View {
@Autowired
Q1Controller con;
Scanner scan = new Scanner(System.in);
public void mailpassPrint() {
//入力
String mail = scan.nextLine().strip();
String pass = scan.nextLine().strip();
System.out.println(con.displaySentence(mail, pass));
}
}

View File

@@ -0,0 +1,22 @@
package com.example.demo.presentation;
import java.util.Scanner;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.demo.application.Q2Controller;
public class Q2View {
@Autowired
Q2Controller con;
Scanner scan = new Scanner(System.in);
public void mailpassPrint() {
//入力
String mail = scan.nextLine().strip();
String pass = scan.nextLine().strip();
System.out.println(con.displaySentence(mail, pass));
}
}

View File

@@ -0,0 +1,29 @@
package com.example.demo.presentation;
import java.util.Scanner;
import org.springframework.stereotype.Component;
import com.example.demo.application.Q3Controller;
@Component
public class Q3View {
private final Q3Controller con;
public Q3View(Q3Controller con) {
this.con = con;
}
Scanner scan = new Scanner(System.in);
public void usernameSearch() {
//入力
System.out.println("メールアドレスを入力");
String mail = scan.nextLine().strip();
System.out.println("パスワードを入力");
String pass = scan.nextLine().strip();
System.out.println(con.usernameSearch(mail, pass));
}
}

View File

@@ -0,0 +1,17 @@
package com.example.demo.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.domain.Q1Entity;
import com.example.demo.persistence.Q1Dao;
@Service
public class Q1Service {
@Autowired
Q1Dao dao;
public Q1Entity getEntity(String mail, String pass) {
return dao.newInstance(mail, pass);
}
}

View File

@@ -0,0 +1,15 @@
package com.example.demo.service;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.demo.domain.Q2Entity;
import com.example.demo.persistence.Q2Dao;
public class Q2Service {
@Autowired
Q2Dao dao;
public Q2Entity getEntity(String mail, String pass) {
return dao.newInstance(mail, pass);
}
}

View File

@@ -0,0 +1,21 @@
package com.example.demo.service;
import java.util.List;
import org.springframework.stereotype.Service;
import com.example.demo.domain.Employee;
import com.example.demo.persistence.EmployeeRepository;
@Service
public class Q3Service {
EmployeeRepository empre;
public Q3Service(EmployeeRepository empre) {
this.empre = empre;
}
public List<Employee> allDateGet() {
return empre.findAll();
}
}

View File

@@ -0,0 +1,13 @@
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringExampleApplicationTests {
@Test
void contextLoads() {
}
}

View File

@@ -0,0 +1,43 @@
package com.example.demo.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class InitialController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index() {
return "login";// login+html
}
@RequestMapping(value = "/doLogout", method = RequestMethod.POST)
public String doLogout() {
return "login";
}
@RequestMapping(value = "/doLogin", method = RequestMethod.POST)
public String doLogin() {
return "menu";
}
@RequestMapping(value = "/doSelect", method = RequestMethod.POST)
public String doSelect() {
return "select";
}
@RequestMapping(value = "/doInsert", method = RequestMethod.POST)
public String doInsert() {
return "insert";
}
@RequestMapping(value = "/doUpdate", method = RequestMethod.POST)
public String doUpdate() {
return "update";
}
@RequestMapping(value = "/doDelete", method = RequestMethod.POST)
public String doDelete() {
return "delete";
}
}

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>デリートページ</title>
</head>
<body>
<h1>デリートページ</h1>
<form action="doLogin" method="POST">
<input type="submit" value="戻る">
</form>
<form action="doLogout" method="POST">
<input type="submit" value="ログアウト">
</form>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>インサートページ</title>
</head>
<body>
<h1>インサートページ</h1>
<form action="doLogin" method="POST">
<input type="submit" value="戻る">
</form>
<form action="doLogout" method="POST">
<input type="submit" value="ログアウト">
</form>
</body>
</html>

View File

@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>ログインページ</title>
</head>
<body>
<h1>ログインページ</h1>
<form action="doLogin" method="POST">
<input type="submit" value="ログイン">
</form>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>メニューページ</title>
</head>
<body>
<h1>メニューページ</h1>
<form action="doSelect" method="POST">
<input type="submit" value="検索">
</form>
<form action="doInsert" method="POST">
<input type="submit" value="登録">
</form>
<form action="doUpdate" method="POST">
<input type="submit" value="更新">
</form>
<form action="doDelete" method="POST">
<input type="submit" value="削除">
</form>
<form action="doLogout" method="POST">
<input type="submit" value="ログアウト">
</form>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>セレクトページ</title>
</head>
<body>
<h1>セレクトページ</h1>
<form action="doLogin" method="POST">
<input type="submit" value="戻る">
</form>
<form action="doLogout" method="POST">
<input type="submit" value="ログアウト">
</form>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>アップデートページ</title>
</head>
<body>
<h1>アップデートページ</h1>
<form action="doLogin" method="POST">
<input type="submit" value="戻る">
</form>
<form action="doLogout" method="POST">
<input type="submit" value="ログアウト">
</form>
</body>
</html>