/Spring/SpringWebMVC/webapp.formjdbc/src/main/java/hm/spring/web/controller/StudentController.java |
New file
@@ -0,0 +1,39 @@ |
package hm.spring.web.controller; |
|
import hm.spring.web.dao.StudentDAO; |
import hm.spring.web.dao.StudentJDBCTemplate; |
import hm.spring.web.domain.Student; |
|
import org.springframework.beans.factory.annotation.Autowired; |
import org.springframework.stereotype.Controller; |
import org.springframework.ui.ModelMap; |
import org.springframework.web.bind.annotation.ModelAttribute; |
import org.springframework.web.bind.annotation.RequestMapping; |
import org.springframework.web.bind.annotation.RequestMethod; |
import org.springframework.web.servlet.ModelAndView; |
|
|
@Controller |
public class StudentController { |
|
|
@Autowired |
StudentDAO studentJDBCTemplate; |
|
@RequestMapping(value = "/student", method = RequestMethod.GET) |
public ModelAndView student() { |
return new ModelAndView("student", "command", new Student()); |
} |
|
@RequestMapping(value = "/addStudent", method = RequestMethod.POST) |
public String addStudent(@ModelAttribute("SpringWeb")Student student, |
ModelMap model) { |
model.addAttribute("name", student.getName()); |
model.addAttribute("age", student.getAge()); |
model.addAttribute("id", student.getId()); |
|
studentJDBCTemplate.create(student.getName(), student.getAge()); |
|
return "result"; |
} |
} |
/Spring/SpringWebMVC/webapp.formjdbc/src/main/java/hm/spring/web/dao/StudentJDBCTemplate.java |
New file
@@ -0,0 +1,58 @@ |
package hm.spring.web.dao; |
|
import hm.spring.web.domain.Student; |
|
import java.util.List; |
|
import javax.sql.DataSource; |
|
import org.springframework.jdbc.core.JdbcTemplate; |
import org.springframework.stereotype.Repository; |
|
@Repository |
public class StudentJDBCTemplate implements StudentDAO { |
private DataSource dataSource; |
private JdbcTemplate jdbcTemplateObject; |
|
public void setDataSource(DataSource dataSource) { |
this.dataSource = dataSource; |
this.jdbcTemplateObject = new JdbcTemplate(dataSource); |
} |
|
public void create(String name, Integer age) { |
String SQL = "insert into Student (name, age) values (?, ?)"; |
|
jdbcTemplateObject.update( SQL, name, age); |
System.out.println("Created Record Name = " + name + " Age = " + age); |
return; |
} |
|
public Student getStudent(Integer id) { |
String SQL = "select * from Student where id = ?"; |
Student student = jdbcTemplateObject.queryForObject(SQL, |
new Object[]{id}, new StudentMapper()); |
return student; |
} |
|
public List<Student> listStudents() { |
String SQL = "select * from Student"; |
List <Student> students = jdbcTemplateObject.query(SQL, |
new StudentMapper()); |
return students; |
} |
|
public void delete(Integer id){ |
String SQL = "delete from Student where id = ?"; |
jdbcTemplateObject.update(SQL, id); |
System.out.println("Deleted Record with ID = " + id ); |
return; |
} |
|
public void update(Integer id, Integer age){ |
String SQL = "update Student set age = ? where id = ?"; |
jdbcTemplateObject.update(SQL, age, id); |
System.out.println("Updated Record with ID = " + id ); |
return; |
} |
|
} |
/Spring/SpringWebMVC/webapp.formjdbc/src/main/java/hm/spring/web/dao/StudentDAO.java |
New file
@@ -0,0 +1,43 @@ |
package hm.spring.web.dao; |
|
import hm.spring.web.domain.Student; |
|
import java.util.List; |
|
import javax.sql.DataSource; |
|
public interface StudentDAO { |
/** |
* This is the method to be used to initialize |
* database resources ie. connection. |
*/ |
public void setDataSource(DataSource ds); |
/** |
* This is the method to be used to create |
* a record in the Student table. |
*/ |
public void create(String name, Integer age); |
/** |
* This is the method to be used to list down |
* a record from the Student table corresponding |
* to a passed student id. |
*/ |
public Student getStudent(Integer id); |
/** |
* This is the method to be used to list down |
* all the records from the Student table. |
*/ |
public List<Student> listStudents(); |
/** |
* This is the method to be used to delete |
* a record from the Student table corresponding |
* to a passed student id. |
*/ |
public void delete(Integer id); |
/** |
* This is the method to be used to update |
* a record into the Student table. |
*/ |
public void update(Integer id, Integer age); |
|
} |
/Spring/SpringWebMVC/webapp.formjdbc/src/main/java/hm/spring/web/domain/AbstractEntity.java |
New file
@@ -0,0 +1,62 @@ |
/* |
* Copyright 2012 the original author or authors. |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
* You may obtain a copy of the License at |
* |
* http://www.apache.org/licenses/LICENSE-2.0 |
* |
* Unless required by applicable law or agreed to in writing, software |
* distributed under the License is distributed on an "AS IS" BASIS, |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
* See the License for the specific language governing permissions and |
* limitations under the License. |
*/ |
package hm.spring.web.domain; |
|
/** |
* @author Oliver Gierke |
* @author Thomas Risberg |
*/ |
public class AbstractEntity { |
|
private Integer id; |
|
public Integer getId() { |
return id; |
} |
|
public void setId(Integer id) { |
this.id = id; |
} |
|
/* |
* (non-Javadoc) |
* @see java.lang.Object#equals(java.lang.Object) |
*/ |
@Override |
public boolean equals(Object obj) { |
|
if (this == obj) { |
return true; |
} |
|
if (this.id == null || obj == null || !(this.getClass().equals(obj.getClass()))) { |
return false; |
} |
|
AbstractEntity that = (AbstractEntity) obj; |
|
return this.id.equals(that.getId()); |
} |
|
/* |
* (non-Javadoc) |
* @see java.lang.Object#hashCode() |
*/ |
@Override |
public int hashCode() { |
return id == null ? 0 : id.hashCode(); |
} |
} |
/Spring/SpringWebMVC/webapp.formjdbc/src/main/webapp/WEB-INF/Hello-servlet.xml |
New file
@@ -0,0 +1,46 @@ |
<?xml version="1.0" encoding="UTF-8"?> |
<beans:beans xmlns="http://www.springframework.org/schema/mvc" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" |
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" |
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd |
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd |
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd |
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd "> |
|
<!-- DispatcherServlet Context: defines this servlet's request-processing |
infrastructure --> |
|
<!-- Enables the Spring MVC @Controller programming model --> |
<annotation-driven /> |
|
<!-- Handles HTTP GET requests for /resources/** by efficiently serving |
up static resources in the ${webappRoot}/resources directory --> |
<resources mapping="/resources/**" location="/resources/" /> |
|
<!-- Resolves views selected for rendering by @Controllers to .jsp resources |
in the /WEB-INF/views directory --> |
<beans:bean |
class="org.springframework.web.servlet.view.InternalResourceViewResolver"> |
<beans:property name="prefix" value="/WEB-INF/views/" /> |
<beans:property name="suffix" value=".jsp" /> |
</beans:bean> |
|
<beans:bean id="dataSource" |
class="org.springframework.jdbc.datasource.DriverManagerDataSource"> |
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver"/> |
<beans:property name="url" value="jdbc:mysql://localhost:3306/studenti"/> |
<beans:property name="username" value="root"/> |
<beans:property name="password" value="root"/> |
</beans:bean> |
|
<!-- Definition for studentJDBCTemplate bean --> |
<beans:bean id="studentJDBCTemplate" |
class="hm.spring.web.dao.StudentJDBCTemplate"> |
<beans:property name="dataSource" ref="dataSource" /> |
</beans:bean> |
|
|
<context:component-scan base-package="hm.spring.web" /> |
|
|
</beans:beans> |
/Spring/SpringWebMVC/webapp.formjdbc/pom.xml |
New file
@@ -0,0 +1,206 @@ |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
<modelVersion>4.0.0</modelVersion> |
<groupId>hm.spring.web</groupId> |
<artifactId>webapp.formjdbc</artifactId> |
<packaging>war</packaging> |
<version>0.0.1-SNAPSHOT</version> |
<name>WebFormApp Maven Webapp</name> |
<url>http://maven.apache.org</url> |
|
<properties> |
<java-version>1.6</java-version> |
<org.springframework-version>4.0.3.RELEASE</org.springframework-version> |
<querydsl.version>2.9.0</querydsl.version> |
<org.aspectj-version>1.7.4</org.aspectj-version> |
<org.slf4j-version>1.7.5</org.slf4j-version> |
<hibernate.version>4.3.5.Final</hibernate.version> |
|
</properties> |
|
<dependencies> |
<!-- Spring --> |
<dependency> |
<groupId>org.springframework</groupId> |
<artifactId>spring-context</artifactId> |
<version>${org.springframework-version}</version> |
<exclusions> |
<!-- Exclude Commons Logging in favor of SLF4j --> |
<exclusion> |
<groupId>commons-logging</groupId> |
<artifactId>commons-logging</artifactId> |
</exclusion> |
</exclusions> |
</dependency> |
<dependency> |
<groupId>org.springframework</groupId> |
<artifactId>spring-webmvc</artifactId> |
<version>${org.springframework-version}</version> |
</dependency> |
<dependency> |
<groupId>org.springframework</groupId> |
<artifactId>spring-tx</artifactId> |
<version>${org.springframework-version}</version> |
</dependency> |
|
|
<!-- Apache Commons DBCP --> |
<dependency> |
<groupId>commons-dbcp</groupId> |
<artifactId>commons-dbcp</artifactId> |
<version>1.4</version> |
</dependency> |
|
<!-- AspectJ --> |
<dependency> |
<groupId>org.aspectj</groupId> |
<artifactId>aspectjrt</artifactId> |
<version>${org.aspectj-version}</version> |
</dependency> |
|
<!-- Spring Data --> |
|
<dependency> |
<groupId>org.springframework.data</groupId> |
<artifactId>spring-data-jdbc-core</artifactId> |
<version>1.0.0.RELEASE</version> |
</dependency> |
|
<dependency> |
<groupId>com.mysema.querydsl</groupId> |
<artifactId>querydsl-sql</artifactId> |
<version>${querydsl.version}</version> |
</dependency> |
|
<dependency> |
<groupId>org.hsqldb</groupId> |
<artifactId>hsqldb</artifactId> |
<version>2.2.8</version> |
<scope>runtime</scope> |
</dependency> |
|
<dependency> |
<groupId>org.springframework</groupId> |
<artifactId>spring-jdbc</artifactId> |
<version>${org.springframework-version}</version> |
</dependency> |
|
|
<!-- Logging --> |
<dependency> |
<groupId>org.slf4j</groupId> |
<artifactId>slf4j-api</artifactId> |
<version>${org.slf4j-version}</version> |
</dependency> |
<dependency> |
<groupId>org.slf4j</groupId> |
<artifactId>jcl-over-slf4j</artifactId> |
<version>${org.slf4j-version}</version> |
<scope>runtime</scope> |
</dependency> |
<dependency> |
<groupId>org.slf4j</groupId> |
<artifactId>slf4j-log4j12</artifactId> |
<version>${org.slf4j-version}</version> |
<scope>runtime</scope> |
</dependency> |
<dependency> |
<groupId>com.itextpdf</groupId> |
<artifactId>itextpdf</artifactId> |
<version>5.0.6</version> |
</dependency> |
|
|
<dependency> |
<groupId>log4j</groupId> |
<artifactId>log4j</artifactId> |
<version>1.2.15</version> |
<exclusions> |
<exclusion> |
<groupId>javax.mail</groupId> |
<artifactId>mail</artifactId> |
</exclusion> |
<exclusion> |
<groupId>javax.jms</groupId> |
<artifactId>jms</artifactId> |
</exclusion> |
<exclusion> |
<groupId>com.sun.jdmk</groupId> |
<artifactId>jmxtools</artifactId> |
</exclusion> |
<exclusion> |
<groupId>com.sun.jmx</groupId> |
<artifactId>jmxri</artifactId> |
</exclusion> |
</exclusions> |
<scope>runtime</scope> |
</dependency> |
|
<!-- @Inject --> |
<dependency> |
<groupId>javax.inject</groupId> |
<artifactId>javax.inject</artifactId> |
<version>1</version> |
</dependency> |
|
<!-- Servlet --> |
<dependency> |
<groupId>javax.servlet</groupId> |
<artifactId>servlet-api</artifactId> |
<version>2.5</version> |
<scope>provided</scope> |
</dependency> |
<dependency> |
<groupId>javax.servlet.jsp</groupId> |
<artifactId>jsp-api</artifactId> |
<version>2.1</version> |
<scope>provided</scope> |
</dependency> |
<dependency> |
<groupId>javax.servlet</groupId> |
<artifactId>jstl</artifactId> |
<version>1.2</version> |
</dependency> |
|
<!-- Test --> |
<dependency> |
<groupId>junit</groupId> |
<artifactId>junit</artifactId> |
<version>4.7</version> |
<scope>test</scope> |
</dependency> |
|
</dependencies> |
|
|
<build> |
<finalName>hellojdbc</finalName> |
<plugins> |
<plugin> |
<artifactId>maven-compiler-plugin</artifactId> |
<configuration> |
<source>1.6</source> |
<target>1.6</target> |
</configuration> |
</plugin> |
<plugin> |
<artifactId>maven-surefire-plugin</artifactId> |
<configuration> |
<includes> |
<include>**/*Tests.java</include> |
</includes> |
</configuration> |
</plugin> |
<plugin> |
<groupId>org.apache.maven.plugins</groupId> |
<artifactId>maven-compiler-plugin</artifactId> |
<version>2.3.2</version> |
<configuration> |
<source>1.6</source> |
<target>1.6</target> |
<encoding>UTF-8</encoding> |
</configuration> |
</plugin> |
</plugins> |
</build> |
</project> |