This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

50 pom.xml
@@ -25,34 +25,54 @@
</properties>

<dependencies>
<!-- Spring MVC Dependency -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.0.RELEASE</version>
</dependency>
<!-- Spring ORM -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.10.RELEASE</version>
</dependency>

<!-- Hibernate ORM -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.11.Final</version>
</dependency>
<!-- Hibernate-C3P0 Integration -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.2.11.Final</version>
</dependency>
<!-- c3p0 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>6.0.5</version>
</dependency>
<!-- Jackson API for JSON -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
<!-- Servlet Dependency -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>

This file was deleted.

@@ -0,0 +1,16 @@
package com.bang.dao;

import com.bang.model.User;

import java.util.List;

/**
* Created by johnnyGrimes on 22/02/2018.
*/
public interface UserDao {
long save(User user);
User get(long id);
List<User> list();
void update(long id, User user);
void delete(long id);
}
@@ -0,0 +1,61 @@
package com.bang.dao;

import com.bang.model.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import java.util.List;

/**
* Created by johnnyGrimes on 22/02/2018.
*/
@Repository
public class UserDaoImpl implements UserDao {

@Autowired
private SessionFactory sessionFactory;

@Override
public long save(User user) {
sessionFactory.getCurrentSession().save(user);
return user.getId();
}

@Override
public User get(long id) {
return sessionFactory.getCurrentSession().get(User.class, id);
}

@Override
public List<User> list() {
Session session = sessionFactory.getCurrentSession();
CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> root = cq.from(User.class);
cq.select(root);
Query<User> query = session.createQuery(cq);
return query.getResultList();
}

@Override
public void update(long id, User user) {
Session session = sessionFactory.getCurrentSession();
User user2 = session.byId(User.class).load(id);
user2.setName(user.getName());
user2.setEmail(user.getEmail());
session.flush();
}

@Override
public void delete(long id) {
Session session = sessionFactory.getCurrentSession();
User user = session.byId(User.class).load(id);
session.delete(user);
}
}
@@ -8,10 +8,10 @@
/**
* Created by johnnyGrimes on 22/02/2018.
*/
@Entity
@Entity(name = "User")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id;

String name;
@@ -0,0 +1,16 @@
package com.bang.service;

import com.bang.model.User;

import java.util.List;

/**
* Created by johnnyGrimes on 22/02/2018.
*/
public interface UserService {
long save(User user);
User get(long id);
List<User> list();
void update(long id, User user);
void delete(long id);
}
@@ -0,0 +1,39 @@
package com.bang.service;

import com.bang.model.User;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;
import java.util.List;

/**
* Created by johnnyGrimes on 22/02/2018.
*/
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Override
public long save(User user) {
return 0;
}

@Override
public User get(long id) {
return null;
}

@Override
public List<User> list() {
return null;
}

@Override
public void update(long id, User user) {

}

@Override
public void delete(long id) {

}
}