3 Day 3
3 Day 3
SimpleJdbcTemplate
SimpleJdbcTemplate class was provided in Spring 2.5 version only and it was
deprecated in the later versions Spring3.x and Spring4.x , in Spring5.x version
SimpleJdbcTemplate class was removed.
If we want to use SimpleJdbcTemplate class we have to use Spring 2.5 version jar files in
Spring applications.
To execute SQL queries, SimpleJdbcTemplate class has provided the following methods.
Note:
Note:
Project Name[App03]
MySQL:
Let's first create a table in the mysql database,
use College;
EName varchar(40),
ESal int,
);
<groupId>com.ccteam</groupId>
<artifactId>App03</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-
8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.23</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.23</version>
</dependency>
<dependency>
Ex:
[Employee.java]
package com.ccteam.beans;
[EmployeeMapper.java]
package com.ccteam.dao;
import com.ccteam.beans.Employee;
import
org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
public class EmployeeMapper implements
ParameterizedRowMapper<Employee>
{
@Override
public Employee mapRow(ResultSet rs, int row_No) throws
SQLException
{
Employee emp = new Employee();
emp.setEno(rs.getInt("ENO"));
emp.setEname(rs.getString("ENAME"));
emp.setEsal(rs.getFloat("ESAL"));
emp.setEaddr(rs.getString("EADDR"));
return emp;
}
}
[EmployeeDao.java]
package com.ccteam.dao;
import com.ccteam.beans.Employee;
public interface EmployeeDao
{
public String add(Employee emp);
public Employee search(int eno);
public String update(Employee emp);
public String delete(int eno);
}
5 DD Sir Infomatics, Agra-Whats App No. 9760433226 Online Training Courses
C,DSA,Java,Python,Web Develoment ETC… Visit www.careercompiler.com
Prepared By DD Singh,Coding Career Expert(17 Years Experience)
Java Frameworks Package
[EmployeeDaoImpl.java]
package com.ccteam.dao;
import com.ccteam.beans.Employee;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
public class EmployeeDaoImpl implements EmployeeDao
{
@Override
public String add(Employee emp)
{
String query = "insert into Employee
values("+emp.getEno()+",'"+emp.getEname()+"',"+emp.getEsal()
+",'"+emp.getEaddr()+"')";
simpleJdbcTemplate.getJdbcOperations().execute(query);
status = "SUCCESS";
return status;
}
@Override
public Employee search(int eno)
{
String query = "select * from employee where eno=?";
Employee emp = simpleJdbcTemplate.queryForObject(query,
new EmployeeMapper(), eno);
return emp;
}
@Override
public String update(Employee emp)
{
String query = "update employee set ename=?, esal =?,
eaddr=? where eno=?";
simpleJdbcTemplate.update(query, emp.getEname(),
emp.getEsal(), emp.getEaddr(), emp.getEno());
status = "SUCCESS";
return status;
}
@Override
public String delete(int eno) {
String query = "delete from employee where eno = ?";
simpleJdbcTemplate.update(query, eno);
status = "SUCCESS";
return status;
}
}
[SpringConfig.xml]
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-
beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-
context.xsd">
<!--
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSourc
e">
<property name="driverClassName"
value="oracle.jdbc.OracleDriver"/>
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="system"/>
<property name="password" value="oracle"/>
</bean>
-->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSourc
e" >
<property name="driverClassName"
value="com.mysql.cj.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/College"/>
<property name="username" value="root"/>
<property name="password" value="mysql"/>
</bean>
<bean id="simpleJdbcTemplate"
<bean id="employeeDao"
class="com.ccteam.dao.EmployeeDaoImpl">
<property name="simpleJdbcTemplate"
ref="simpleJdbcTemplate"/>
</bean>
</beans>
[Main.java]
package com.ccteam;
import com.ccteam.beans.Employee;
import com.ccteam.dao.EmployeeDao;
import org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContex
t;
System.out.println("Employee Insertion
Status :"+status1);
*/
System.out.println();
Employee emp1 = dao.search(101);
—-----------------------
There are three types of DAOSupport classes inorder to get Template object in DAO
classes.
JdbcDaoSupport:
—------------------
To get JdbcTemplate through JdbcDaoSupport class we have to
use the following method from JdbcDaoSupport class .
NamedParameterJdbcDaoSupport:
—-------------------------------------
To get a NamedParameterJdbcTemplate object through
NamedParameterJdbcDaoSupport we have to use the following
method.
public NamedParameterJdbcTemplate
getNamedParameterJdbcTemplate()
SimpleJdbcDaoSupport:
Where SimpleJdbcDaoSupport class is able to provide SimpleJdbcTemplate reference in
Dao class by using the following method.
EX:
10 DD Sir Infomatics, Agra-Whats App No. 9760433226 Online Training Courses
C,DSA,Java,Python,Web Develoment ETC… Visit www.careercompiler.com
Prepared By DD Singh,Coding Career Expert(17 Years Experience)
Java Frameworks Package
public class EmployeeDaoImpl extends JdbcDaoSupport implements EmployeeDao
{
public String insert(int eno, String ename, float esal, String eaddr)
{
getJdbcTemplate().update("insert into emp1
values("+eno+",'"+ename+"',"+esal+",'"+eaddr+"')");
return "SUCCESS";
}
----
----
}