hognkun
hognkun

Reputation: 337

what is the problem using java spring boot

I try to search all data using java-spring-boot with Mysql but when i run the code i got the this error

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'emp0_.get_company_name' in 'field list'

This is my Controller code

package com.example.rest.controller;


import com.example.rest.Emp;
import com.example.rest.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
@RestController
@RequestMapping("emp")
public class EmpController {
    @Autowired
    private EmpService empService;

    @GetMapping(produces = {MediaType.APPLICATION_JSON_VALUE})
    public ResponseEntity<List<Emp>> getAllEmps() {
        List<Emp> emps = empService.findAll();
        return new ResponseEntity<List<Emp>>(emps,HttpStatus.OK);
    }
}

This is my EmpRepository code

package com.example.rest.repository;
import com.example.rest.Emp;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface EmpRepository  extends JpaRepository<Emp, Integer> {
}

This is my EmpService Code

package com.example.rest.service;

import com.example.rest.Emp;

import java.util.List;

public interface EmpService {
    List<Emp> findAll();
}

This is my EmpServiceImpl Code

package com.example.rest.service;

import com.example.rest.Emp;
import com.example.rest.repository.EmpRepository;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.List;
@Service
public class EmpServiceImpl implements EmpService {
    @Autowired
    private EmpRepository empRepository;

    @Override
    public List<Emp> findAll() {

        List<Emp> emps= new ArrayList<>();
        empRepository.findAll().forEach((e -> emps.add(e)));

        return emps;
    }
}

This is my Application Code

package com.example.rest;

import com.example.rest.repository.EmpRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@SpringBootApplication
@Configuration
public class Application {
    @Autowired
    EmpRepository empRepository;
    public static void main(String[] args) {
        SpringApplication.run(Application.class , args);
    }
}

This is my Emp Code

package com.example.rest;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;

@Entity
@Table(name = "company")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Emp implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue (strategy = GenerationType.IDENTITY)
    private Integer idx;
    private String company_id;
    private String getCompany_name;
}

So if someone knows that what is the problem please tell me if you don't remind with solution

Thank you!

Upvotes: 1

Views: 73

Answers (2)

Sushil Mittal
Sushil Mittal

Reputation: 524

Need to add annotation on below class:

@Service  
class EmpServiceImpl implements EmpService {

}

Upvotes: 0

Ashish Bakwad
Ashish Bakwad

Reputation: 811

Use @Service annotation on the EmpServiceImpl class and @Repository annotation on the EmpRepository.

        @Service
        public class EmpServiceImpl implements EmpService {
            @Autowired
            private EmpRepository empRepository;

            @Override
            public List<Emp> findAll() {

                List<Emp> emps= new ArrayList<>();
                empRepository.findAll().forEach((e -> emps.add(e)));

                return emps;
            }
        }

        @Repository
        public interface EmpRepository  extends JpaRepository<Emp, Integer> {

        }

Upvotes: 2

Related Questions