0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Spring Boot でMyBatisを試す

Posted at

ざっくりイメージ

image.png

pom.xmlは省略

あとで

Application

DemoApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

Controller

後で整えます

CheckDataController.java
package com.example.demo.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.model.CheckDataModel.ResCheckData;
import com.example.demo.model.CheckDataModel.dbCheckData;
import com.example.demo.service.CheckDataService;

@CrossOrigin(origins = "http://localhost:4200")
@RestController
//@RequestMapping("/")
public class CheckDataController {

	@Autowired
	CheckDataService checkDataService;
	
//	private final CheckDataService checkDataService;
//	
//	public CheckDataController(CheckDataService checkDataService) {
//		this.checkDataService = checkDataService;
//	}
	
	@GetMapping("/test")
	public List<ResCheckData> getAllUsers() {
		
		List<dbCheckData> ccc = new ArrayList<>();
		ccc = checkDataService.getSelectAll();
		
		List<ResCheckData> ddd = new ArrayList<>();
		ddd = checkDataService.setResData(ccc);
		
		return ddd;

	}
	
}

Mapper

CheckDataMapper.java
package com.example.demo.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Mapper;

import com.example.demo.model.CheckDataModel.dbCheckData;


@Mapper
public interface CheckDataMapper {
    List<dbCheckData> getSelectAll();
}

Model

CheckDataModel.java
package com.example.demo.model;

import java.math.BigInteger;

import lombok.Data;

//@Data
public class CheckDataModel {
	
	@Data
	public static class dbCheckData {
		public String shainNo;
	    public BigInteger checkYmd;
	    public int dataShurui;
	    public int datakai;
	    public int data01;
	    public int data02;
	    public int data03;

	    
	}
	
	@Data
	public static class ResCheckData {
	
		public String shainNo;
	    public BigInteger checkYmd;
	    public int dataShurui;
	    public int data[] = new int[3];

	}
}

service

CheckDataService.java
package com.example.demo.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.mapper.CheckDataMapper;
import com.example.demo.model.CheckDataModel.ResCheckData;
import com.example.demo.model.CheckDataModel.dbCheckData;

@Service
public class CheckDataService {
	
	@Autowired
	CheckDataMapper checkDataMapper;
	
//	private final CheckDataMapper checkDataMapper;
//	
//	public CheckDataService(CheckDataMapper checkDataMapper) {
//		this.checkDataMapper = checkDataMapper;
//	}
	
	public List<dbCheckData> getSelectAll() {
		List<dbCheckData> list = new ArrayList<>();
		list = checkDataMapper.getSelectAll();
		
		return list;
		
	}
	
	public List<ResCheckData> setResData(List<dbCheckData> aaa){
		List<ResCheckData> blist = new ArrayList<>();
		ResCheckData bbb = new ResCheckData();
		
    	bbb.dataShurui = aaa.get(0).dataShurui;
    	bbb.data[0] = aaa.get(0).data01;
    	bbb.data[1] = aaa.get(0).data02;
    	bbb.data[2] = aaa.get(0).data03;
    	bbb.data[3] = aaa.get(0).data04;

    	blist.add(bbb);
    	return blist;
	}
    
}

xml

CheckDataMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper 
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.CheckDataMapper">
    <select id="getSelectAll" resultType="com.example.demo.model.CheckDataModel$dbCheckData">
        SELECT * FROM checkdata;
    </select>
</mapper>

application.properties

# postgresql
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/test
spring.datasource.username=postgres
spring.datasource.password=test
spring.sql.init.encoding=UTF-8

# MyBatisの設定
# setting for mapping DB columns by snake-style and Java properties by camel-case-style
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:/mapper/*.xml
mybatis.type-aliases-package=com.example.demo.model
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?