Assignment33 07mar2022
Assignment33 07mar2022
MySQL
SpringRestHibernateApplication.java
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
SpringApplication.run(SpringRestHibernateApplication.class, args);
CarController.java
package com.test.controller;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.test.entities.Car;
import com.test.service.CarService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@RestController
@Api(value = "This is spring boot rest api and hibernate Car mngnt application")
@RequestMapping(value = "/api/cars")
CarService carService;
@Autowired
this.carService = carService;
try {
logger.info(car.getCarBrand());
logger.info(car.getCarEngine());
logger.info(car.getCarModel());
logger.info(car.getHorsepower());
carService.add(car);
return ResponseEntity.status(HttpStatus.OK).build();
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
try {
return ResponseEntity.status(HttpStatus.OK).body(result);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
try {
if (car != null) {
return ResponseEntity.status(HttpStatus.OK).body(car);
} else {
return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
try {
carService.update(id, car);
return ResponseEntity.status(HttpStatus.OK).build();
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
try {
carService.remove(id);
return ResponseEntity.status(HttpStatus.OK).build();
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
CarDao.java
package com.test.dao;
import java.util.List;
import java.util.Map;
import com.test.entities.Car;
Car.java
package com.test.entities;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;
@Entity
@Table(name="CAR")
@JsonIgnoreProperties(ignoreUnknown=true)
@Id
@Getter @Setter
@Getter @Setter
@Getter @Setter
@Getter @Setter
@Getter @Setter
public Car(){}
this.carBrand = carBrand;
this.carModel = carModel;
this.horsepower = horsepower;
this.carEngine = carEngine;
return carId;
this.carId = carId;
}
public String getCarBrand() {
return carBrand;
this.carBrand = carBrand;
return carModel;
this.carModel = carModel;
return horsepower;
this.horsepower = horsepower;
return carEngine;
this.carEngine = carEngine;
}
public static long getSerialversionuid() {
return serialVersionUID;
return logger;
CarDaoImpl.java
package com.test.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.test.dao.CarDao;
import com.test.entities.Car;
import com.test.repository.CarRepository;
@Repository
public CarDaoImpl() {
@Override
try {
return carRepository.findByCarId(id);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return null;
@Override
try {
car.setCarId(id);
carRepository.delete(car);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
@Override
try {
carRepository.save(car);
} catch (Exception e) {
logger.error(e.getMessage(), e);
@Override
try {
car.setCarId(id);
carRepository.save(car);
} catch (Exception e) {
logger.error(e.getMessage(), e);
@Override
try {
map.put(car.getCarId().toString(), car);
list.add(map);
}
return list;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return null;
CarRepository.java
package com.test.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import com.test.entities.Car;
@Transactional(readOnly = true)
@Transactional(timeout = 10)
@Transactional(timeout = 10)
List<Car> findAll();
@Transactional
CarService.java
package com.test.service;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.test.dao.CarDao;
import com.test.entities.Car;
@Service
@Transactional
@Autowired
public CarService() {
if (id <= 0) {
throw new IllegalArgumentException("ID cannot be 0 or < 0");
return carDao.findById(id);
if (id <= 0) {
carDao.remove(id);
if (result.size() > 0) {
return result;
} else {
return null;
if (car == null) {
carDao.add(car);
carDao.update(id, car);
ApplicationProperties
server.port=7070
spring.main.banner-mode=off
#server
#server.error.whitelabel.enabled=false
# dtabase settings
spring.datasource.url=jdbc:mysql://localhost:3306/springdb
spring.datasource.username=root
spring.datasource.password=Password@123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# HikariCP settings
# spring.datasource.hikari.*
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
# logging
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
logging.level.org.hibernate.SQL=debug
#logging.level.org.hibernate.type.descriptor.sql=trace
logging.level.=info
Test.jsp
click here
</form>
</body>
</html>
OUTPUT