Ich werde ein Memorandum aufbewahren, wenn ich REST-Services auf Spring Web mit STS verwende. Hauptsächlich für mich. Spring Web basiert auf dem Spring Framework Webanwendungs-Framework.
Die Entwicklungsumgebung ist wie folgt. OS : Windows 7 Home Edition 64bit Java : JavaSE 8 update 181 Spring Boot : 2.3.4 STS : 4.6.1
Für das STS-Setup habe ich auf [Mein Memorandum] verwiesen (https://qiita.com/harayoshi/items/fca60e68087640b26292).
Erstellen Sie ein Projekt mit Create new Spring Starter Project, Die Bibliotheken, auf die verwiesen wird, lauten wie folgt.
Die erstellte Klasse, die Einstellungsdatei und die vorbereiteten Daten lauten wie folgt.
Spring Boot Execution-Klasse beim Start der Anwendung.
SpringWebSampleApplication.java
package jp.co.illmatics;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringWebSampleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringWebSampleApplication.class, args);
}
}
Diese Klasse ist die REST-API.
@RestController, um es zu einer REST-API zu machen, CORS @CrossOrigin, um Zugriff zu gewähren Jeder wurde gegeben.
Der Wert, der abgerufen werden kann, liegt im JSON-Format vor. Die Details des Wertes werden später erklärt.
UsersController.java
package jp.co.illmatics.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import jp.co.illmatics.dao.UserDao;
import jp.co.illmatics.model.User;
@CrossOrigin
@RestController
public class UsersController {
@Autowired
private UserDao userInfoDao;
@RequestMapping(method = RequestMethod.GET, value = "/users")
public List<User> get() {
return userInfoDao.getUserInfoList();
}
}
Datenzugriffsobjekt. Sowohl die Schnittstelle als auch ihre Implementierungsklasse sind zum Zeitpunkt der Implementierung erforderlich.
UserDao.java
package jp.co.illmatics.dao;
import java.util.List;
import jp.co.illmatics.model.User;
public interface UserDao {
public List<User> getUserInfoList();
}
UserDao-Implementierungsklasse. Definiert eine Methode zum Abrufen einer Benutzerliste. Holen Sie sich alle Datensätze in aufsteigender Reihenfolge der ID-Spalte.
UserDaoImpl.java
package jp.co.illmatics.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import jp.co.illmatics.model.User;
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<User> getUserInfoList() {
List<User> list = jdbcTemplate.query("select * from USER_INFO ORDER BY ID"
, new Object[] {},
new RowMapper<User>() {
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
user.setId(rs.getString("ID"));
user.setName(rs.getString("NAME"));
user.setAge(rs.getInt("AGE"));
return user;
}
});
return list;
}
}
Die Modellklasse für die Tabelle USER_INFO.
User.java
package jp.co.illmatics.model;
import javax.persistence.Table;
import org.springframework.stereotype.Component;
import lombok.Data;
@Data
@Component
@Table(name = "USER_INFO")
public class User {
private String id;
private String name;
private Integer age;
}
DB-Verbindungsinformationen, in denen Testdaten gespeichert werden.
application.properties
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username=xxxxxx
spring.datasource.password=xxxxxx
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.show-sql=true
Dies ist die erstellte Tabelle.
Tabelle erstellt
create table USER_INFO (
"ID" varchar2(20),
"NAME" varchar2(20),
"AGE" number(3,0),
constraint "PK_USER" primary key ("ID")
);
Dies sind die in der Tabelle USER_INFO vorbereiteten Daten.
ID | NAME | AGE |
---|---|---|
user001 | userName001 | 35 |
user002 | userName002 | 30 |
user003 | userName003 | 25 |
Ich werde es versuchen. Es ist fertig.
das ist alles. Bis zum Ende Danke fürs Lesen.
Recommended Posts