Skip to content

Commit b6c9e36

Browse files
committed
Java Spring MVC Hibernate PostgreSQL first commit
0 parents  commit b6c9e36

File tree

116 files changed

+81782
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+81782
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Java Spring MVC Hibernate PostgreSQL's Code
2+
===========================================
3+
4+
This is the repository for the code for Java Spring MVC Hibernate PostgreSQL.
5+
6+
• Java Version 10.0.2
7+
8+
• Spring Version 4.1.5
9+
10+
• Hibernate Version 4.3.8
11+
12+
• Apache Maven Version 3.5.4
13+
14+
• PostgreSQL Version 9.5.3
15+
16+
**Credits:**
17+
18+
https://hibernate.org

pom.xml

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>com.rajani.spring</groupId>
5+
<artifactId>SpringMVCHibernateCRUD</artifactId>
6+
<packaging>war</packaging>
7+
<version>1.0-SNAPSHOT</version>
8+
<name>SpringMVCHibernateCRUD Maven Webapp</name>
9+
<url>http://maven.apache.org</url>
10+
<!-- Specifying the Versions of Spring, Hiberante, PostgreSQL etc -->
11+
<properties>
12+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13+
<spring.version>4.1.5.RELEASE</spring.version>
14+
<hibernate.version>4.3.8.Final</hibernate.version>
15+
<postgresql.version>9.4.1208</postgresql.version>
16+
<junit-version>4.12</junit-version>
17+
<servlet-api-version>3.1.0</servlet-api-version>
18+
<jsp-version>2.1</jsp-version>
19+
<jstl-version>1.2</jstl-version>
20+
<java.version>1.10</java.version>
21+
</properties>
22+
<dependencies>
23+
<dependency>
24+
<groupId>org.springframework</groupId>
25+
<artifactId>spring-core</artifactId>
26+
<version>${spring.version}</version>
27+
</dependency>
28+
29+
<dependency>
30+
<groupId>org.springframework</groupId>
31+
<artifactId>spring-context</artifactId>
32+
<version>${spring.version}</version>
33+
</dependency>
34+
35+
<dependency>
36+
<groupId>org.springframework</groupId>
37+
<artifactId>spring-web</artifactId>
38+
<version>${spring.version}</version>
39+
</dependency>
40+
41+
<dependency>
42+
<groupId>org.springframework</groupId>
43+
<artifactId>spring-webmvc</artifactId>
44+
<version>${spring.version}</version>
45+
</dependency>
46+
47+
<dependency>
48+
<groupId>org.springframework</groupId>
49+
<artifactId>spring-orm</artifactId>
50+
<version>${spring.version}</version>
51+
</dependency>
52+
53+
<dependency>
54+
<groupId>org.springframework</groupId>
55+
<artifactId>spring-test</artifactId>
56+
<version>${spring.version}</version>
57+
<scope>test</scope>
58+
</dependency>
59+
60+
<!-- Hibernate 4 dependencies -->
61+
<dependency>
62+
<groupId>org.hibernate</groupId>
63+
<artifactId>hibernate-core</artifactId>
64+
<version>${hibernate.version}</version>
65+
</dependency>
66+
67+
<dependency>
68+
<groupId>org.hibernate</groupId>
69+
<artifactId>hibernate-c3p0</artifactId>
70+
<version>${hibernate.version}</version>
71+
</dependency>
72+
73+
<!--PostgreSQL Connector -->
74+
<dependency>
75+
<groupId>org.postgresql</groupId>
76+
<artifactId>postgresql</artifactId>
77+
<version>${postgresql.version}</version>
78+
</dependency>
79+
80+
<!-- Servlet and JSP -->
81+
<dependency>
82+
<groupId>javax.servlet</groupId>
83+
<artifactId>javax.servlet-api</artifactId>
84+
<version>${servlet-api-version}</version>
85+
</dependency>
86+
87+
<dependency>
88+
<groupId>javax.servlet.jsp</groupId>
89+
<artifactId>jsp-api</artifactId>
90+
<version>${jsp-version}</version>
91+
<scope>provided</scope>
92+
</dependency>
93+
94+
<!-- JSTL dependency -->
95+
<dependency>
96+
<groupId>jstl</groupId>
97+
<artifactId>jstl</artifactId>
98+
<version>${jstl-version}</version>
99+
</dependency>
100+
101+
<!-- JUnit -->
102+
<dependency>
103+
<groupId>junit</groupId>
104+
<artifactId>junit</artifactId>
105+
<version>${junit-version}</version>
106+
<scope>test</scope>
107+
</dependency>
108+
109+
</dependencies>
110+
<build>
111+
<finalName>SpringMVCHibernateCRUD</finalName>
112+
<plugins>
113+
<plugin>
114+
<artifactId>maven-surefire-plugin</artifactId>
115+
<version>2.22.0</version>
116+
<configuration>
117+
<includes>
118+
<include>**/*Tests.java</include>
119+
</includes>
120+
</configuration>
121+
</plugin>
122+
<plugin>
123+
<artifactId>maven-compiler-plugin</artifactId>
124+
<version>2.3.2</version>
125+
<configuration>
126+
<source>${java.version}</source>
127+
<target>${java.version}</target>
128+
</configuration>
129+
</plugin>
130+
</plugins>
131+
132+
</build>
133+
</project>
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package com.rajani.controller;
2+
3+
import java.io.IOException;
4+
import java.util.List;
5+
6+
import javax.servlet.http.HttpServletRequest;
7+
8+
import org.jboss.logging.Logger;
9+
import org.springframework.beans.factory.annotation.Autowired;
10+
import org.springframework.stereotype.Controller;
11+
import org.springframework.web.bind.annotation.ModelAttribute;
12+
import org.springframework.web.bind.annotation.RequestMapping;
13+
import org.springframework.web.bind.annotation.RequestMethod;
14+
import org.springframework.web.servlet.ModelAndView;
15+
import com.rajani.model.Movie;
16+
import com.rajani.service.MovieService;
17+
18+
@Controller
19+
public class MovieController {
20+
21+
private static final Logger logger = Logger
22+
.getLogger(MovieController.class);
23+
24+
public MovieController() {
25+
System.out.println("MovieController()");
26+
}
27+
28+
@Autowired
29+
private MovieService movieService;
30+
31+
32+
@RequestMapping(value = {"", "/", "home"})
33+
public ModelAndView listMovie(ModelAndView model) throws IOException {
34+
List<Movie> listMovie = movieService.getAllMovies();
35+
model.addObject("listMovie", listMovie);
36+
model.setViewName("home");
37+
return model;
38+
}
39+
40+
@RequestMapping(value = "/newMovie", method = RequestMethod.GET)
41+
public ModelAndView newContact(ModelAndView model) {
42+
Movie movi = new Movie();
43+
model.addObject("movie", movi);
44+
model.setViewName("movie-form");
45+
return model;
46+
}
47+
48+
@RequestMapping(value = "/saveMovie", method = RequestMethod.POST)
49+
public ModelAndView saveMovie(@ModelAttribute Movie movi) {
50+
if (movi.getId() == 0) { // if movie id is 0 then creating the
51+
// movie other updating the movie
52+
movieService.addMovie(movi);
53+
} else {
54+
movieService.updateMovie(movi);
55+
}
56+
return new ModelAndView("redirect:/");
57+
}
58+
59+
@RequestMapping(value = "/deleteMovie", method = RequestMethod.GET)
60+
public ModelAndView deleteMovie(HttpServletRequest request) {
61+
int movieId = Integer.parseInt(request.getParameter("id"));
62+
movieService.deleteMovie(movieId);
63+
return new ModelAndView("redirect:/");
64+
}
65+
66+
@RequestMapping(value = "/editMovie", method = RequestMethod.GET)
67+
public ModelAndView editContact(HttpServletRequest request) {
68+
int movieId = Integer.parseInt(request.getParameter("id"));
69+
Movie movi = movieService.getMovie(movieId);
70+
ModelAndView model = new ModelAndView("movie-form");
71+
model.addObject("movie", movi);
72+
73+
return model;
74+
}
75+
76+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.rajani.dao;
2+
3+
import java.util.List;
4+
import com.rajani.model.Movie;
5+
6+
public interface MovieDAO {
7+
8+
public void addMovie(Movie movi);
9+
10+
public List<Movie> getAllMovies();
11+
12+
public void deleteMovie(Integer movieId);
13+
14+
public Movie updateMovie(Movie movi);
15+
16+
public Movie getMovie(int movieId);
17+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package com.rajani.dao;
2+
3+
import java.util.List;
4+
5+
import org.hibernate.SessionFactory;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.stereotype.Repository;
8+
9+
import com.rajani.model.Movie;
10+
11+
@Repository
12+
public class MovieDAOImpl implements MovieDAO {
13+
14+
@Autowired
15+
private SessionFactory sessionFactory;
16+
17+
public void addMovie(Movie movi) {
18+
sessionFactory.getCurrentSession().saveOrUpdate(movi);
19+
20+
}
21+
22+
@SuppressWarnings("unchecked")
23+
public List<Movie> getAllMovies() {
24+
25+
return sessionFactory.getCurrentSession().createQuery("from Movie")
26+
.list();
27+
}
28+
29+
@Override
30+
public void deleteMovie(Integer movieId) {
31+
Movie movi = (Movie) sessionFactory.getCurrentSession().load(
32+
Movie.class, movieId);
33+
if (null != movi) {
34+
this.sessionFactory.getCurrentSession().delete(movi);
35+
}
36+
37+
}
38+
39+
public Movie getMovie(int movieId) {
40+
return (Movie) sessionFactory.getCurrentSession().get(
41+
Movie.class, movieId);
42+
}
43+
44+
@Override
45+
public Movie updateMovie(Movie movi) {
46+
sessionFactory.getCurrentSession().update(movi);
47+
return movi;
48+
}
49+
50+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.rajani.model;
2+
3+
import java.io.Serializable;
4+
5+
import javax.persistence.Column;
6+
import javax.persistence.Entity;
7+
import javax.persistence.GeneratedValue;
8+
import javax.persistence.GenerationType;
9+
import javax.persistence.Id;
10+
import javax.persistence.Table;
11+
12+
import java.sql.Date;
13+
14+
@Entity
15+
@Table(name = "Movie")
16+
public class Movie implements Serializable {
17+
18+
@Id
19+
// @GeneratedValue(strategy = GenerationType.AUTO)
20+
@GeneratedValue(strategy= GenerationType.IDENTITY)
21+
@Column(name="id")
22+
private int id;
23+
24+
@Column(name = "title", nullable = false)
25+
private String title;
26+
27+
@Column(name = "release_date", nullable = false)
28+
private java.sql.Date release_date;
29+
30+
@Column(name = "price", nullable = false)
31+
private double price;
32+
33+
@Column(name = "genre", nullable = false)
34+
private String genre;
35+
36+
@Column(name = "rating", nullable = false)
37+
private String rating;
38+
39+
public int getId() {
40+
return id;
41+
}
42+
43+
public void setId(int id) {
44+
this.id = id;
45+
}
46+
47+
public String getTitle() {
48+
return title;
49+
}
50+
51+
public void setTitle(String title) {
52+
this.title = title;
53+
}
54+
55+
public java.sql.Date getRelease_date() {
56+
return release_date;
57+
}
58+
59+
public void setRelease_date(java.sql.Date release_date) {
60+
this.release_date = release_date;
61+
}
62+
63+
public double getPrice() {
64+
return price;
65+
}
66+
67+
public void setPrice(double price) {
68+
this.price = price;
69+
}
70+
71+
public String getGenre() {
72+
return genre;
73+
}
74+
75+
public void setGenre(String genre) {
76+
this.genre = genre;
77+
}
78+
79+
public String getRating() {
80+
return rating;
81+
}
82+
83+
public void setRating(String rating) {
84+
this.rating = rating;
85+
}
86+
}

0 commit comments

Comments
 (0)