Simple spring JDBC example
This page gives simple JDBC example using spring. We are using MySQL database here.
pom.xml file gives all required dependencies:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringHelloWorld</groupId>
<artifactId>SpringHelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<spring.version>3.2.0.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
</dependencies>
</project>
|
Employee model class:
package com.java2novice.model;
public class Employee {
private int empId;
private String name;
private int salary;
private String dept;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
}
|
Employee DAO interface:
package com.java2novice.dao;
import com.java2novice.model.Employee;
public interface EmployeeDao {
public Employee findEmployeeById(int empId);
}
|
Employee DAO implementation class:
package com.java2novice.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.java2novice.model.Employee;
public class EmployeeDaoImpl implements EmployeeDao{
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
@Override
public Employee findEmployeeById(int empId) {
Employee emp = null;
String query = "select * from employee where emp_id=?";
Connection conn = null;
PreparedStatement prepStmt = null;
ResultSet rsltSet = null;
try {
conn = dataSource.getConnection();
prepStmt = conn.prepareStatement(query);
prepStmt.setInt(1, empId);
rsltSet = prepStmt.executeQuery();
emp = new Employee();
while(rsltSet.next()){
emp.setEmpId(empId);
emp.setName(rsltSet.getString("name"));
emp.setSalary(rsltSet.getInt("salary"));
emp.setDept(rsltSet.getString("dept"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if(rsltSet != null) rsltSet.close();
if(prepStmt != null) prepStmt.close();
} catch(Exception ex){}
}
return emp;
}
}
|
Here is the xml based configuration file, look at mysql DB configurations:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/java2novice" />
<property name="username" value="user_name" />
<property name="password" value="password" />
</bean>
<bean id="employeeDAO" class="com.java2novice.dao.EmployeeDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
|
Here is the final demo class:
package com.java2novice.test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.java2novice.dao.EmployeeDao;
import com.java2novice.model.Employee;
public class SpringDemo {
public static void main(String a[]){
String confFile = "applicationContext.xml";
ConfigurableApplicationContext context =
new ClassPathXmlApplicationContext(confFile);
EmployeeDao empDao = (EmployeeDao) context.getBean("employeeDAO");
Employee emp = empDao.findEmployeeById(1);
System.out.println(emp.getName()+" | "+emp.getSalary()+" | "+emp.getDept());
}
}
|
|