`
baobeituping
  • 浏览: 1068628 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SPRING使用JDBC

阅读更多

SPRING中提供了3个模板类:

JdbcTemplate,NamedParameterJdbcTemplate,SimpleJdbcTemplate

 

下面介绍以JdbcTemplate为例

applicationContext.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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


 <bean id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
   value="com.mysql.jdbc.Driver">
  </property>
  <property name="url" value="jdbc:mysql://127.0.0.1:3306/mydb"></property>
  <property name="username" value="root"></property>
  <property name="password" value="root"></property>
 </bean>
  
 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  <property name="dataSource" ref="dataSource"></property>
 </bean>
 
 <bean id="teamDaoImpl" class="com.dao.ObjDaoImpl">
  <property name="jdbcTemplate" ref="jdbcTemplate"></property>
 </bean>
 
</beans>

 

DAO类:

package com.dao;

import com.vo.Team;

public interface ObjDao {
 
 void save(Team team);
 
 Team getTeamById(int id);

}

 

package com.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import com.vo.Team;

public class ObjDaoImpl implements ObjDao {

 private JdbcTemplate jdbcTemplate;
 public JdbcTemplate getJdbcTemplate() {
  return jdbcTemplate;
 }
 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  this.jdbcTemplate = jdbcTemplate;
 }
 public void save(Team team) {
  String sql = "insert into team (Name) values(?)";
  
  this.jdbcTemplate.update(sql,new Object[]{team.getName()});

 }

 

//
 public Team getTeamById(int id) {
  // TODO Auto-generated method stub
  String sql = "select id,name from team where id=?";
  List teams = this.jdbcTemplate.query(sql,new Object[]{Integer.valueOf(id)},new RowMapper(){
   public Object mapRow(ResultSet rs,int rowNum) throws SQLException,DataAccessException{
    Team team = new Team();
    team.setId(rs.getInt("id"));
    team.setName(rs.getString("name"));
    return team;
    
   }
  });
  return teams.size()>0?(Team)teams.get(0):null;
 }

 

//jdbcTemplate.query方法参数:

1.一个字符串,包含用于从数据库里选择数据的SQL语句

2.一个OBJECT数组,包含于查询里索引参数绑定的值

3.一个ROWMAPPER,他从RESULTSET里提取数值,并构造一个域对象

}

测试类:

package com.client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.dao.ObjDao;
import com.vo.Team;

public class Client {

 /**
  * @param args
  */
 public static void main(String[] args) {
  /*Team team = new Team();
  team.setName("springtest");*/
  
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  ObjDao dao = (ObjDao)context.getBean("teamDaoImpl");
  //dao.save(team);
  Team team = dao.getTeamById(1);
  System.out.println(team.getName());

 }

}

 

在使用SAVE方法的时候,使用了索引参数,意味着吧参数传递给UPDATE的时候,要以正确的顺序列出相应的值。为了避免这种情况,我们可以使用NamedParameterJdbcTemplate.

 

sql="insert into team (name) values (:name)";

 

public void save(Team team)

{

    Map parameters = new HashMap();

   parameters.put("name",team.getName());

  jdbcTemplate.update(sql,parameters);

}

 

 

 

如果使用SimpleJdbcTemplate可以采用如下方法来保存:

public void save(Team team)

{

     jdbcTemplate.update(sql,team.getName());

}

 

 

如上方法是通过在JDBC dao的类中注入jdbcTemplate类。

还可以通过你的DAO继承指定的TEMPLATE类

比如上面的例子:

public class ObjDaoImpl implements ObjDao extends JdbcDaoSupport

 

然后就可以直接通过

getJdbcTemplate()来得到对象,就不用注入了。

 

分享到:
评论

相关推荐

    Spring使用JDBC做的增删改查

    本文将详细介绍Spring使用JDBC进行增删改查的三种主要方法。 首先,让我们了解Spring JDBC的基础。Spring JDBC模块通过`JdbcTemplate`和`SimpleJdbcTemplate`类提供了数据库访问的抽象层,简化了数据库操作。这两种...

    SpringJDBC.rar_jdbc spring_spring jd_spring jdbc_spring使用JDBC进行数

    这个“SpringJDBC.rar”压缩包文件可能包含了关于如何在Spring框架中集成和使用JDBC的相关示例和教程。下面将详细解释Spring JDBC的核心概念、功能以及使用方法。 首先,Spring JDBC的核心目标是简化传统的JDBC编程...

    spring-jdbc-5.3.15-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.3.15.jar; 赠送原API文档:spring-jdbc-5.3.15-javadoc.jar; 赠送源代码:spring-jdbc-5.3.15-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.3.15.pom; 包含翻译后的API文档:...

    Spring Data JDBC与JDBC的区别

    相比于直接使用JDBC,Spring Data JDBC提供了以下优势: 1. **自动配置**: Spring Boot通过自动配置,可以快速设置数据源和JDBC模板。 2. **Repository接口**: 开发者只需定义Repository接口,Spring会自动提供实现...

    spring-jdbc jar包.rar

    在项目中使用"spring-jdbc jar包",开发者需要配置DataSource,并根据需求选择使用JdbcTemplate或其他辅助类。在编写SQL时,可以使用预编译的PreparedStatement来防止SQL注入攻击。此外,还可以利用Spring的AOP...

    开发工具 spring-jdbc-4.3.6.RELEASE

    开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6.RELEASE开发工具 spring-jdbc-4.3.6....

    spring_JDBC整合包

    Spring JDBC是Spring框架的一个重要模块,它简化了Java数据库连接(JDBC)的使用,提供了更高级别的抽象,使得数据库操作更加简洁、易管理和模块化。这个"spring_JDBC整合包"显然包含了进行Spring JDBC开发所需的...

    spring对jdbc的支持jar包

    本文将深入探讨Spring对JDBC(Java Database Connectivity)的支持,以及如何在实际项目中使用这些功能。 首先,Spring JDBC的核心是`org.springframework.jdbc`包,它提供了一套高级抽象,用于简化数据库操作。在...

    spring-jdbc-4.3.9.RELEASE

    spring-jdbc连接jar包,spring对于jdbc技术的封装,spring容器组成部分

    spring-jdbc-5.2.0.RELEASE-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.2.0.RELEASE.jar; 赠送原API文档:spring-jdbc-5.2.0.RELEASE-javadoc.jar; 赠送源代码:spring-jdbc-5.2.0.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.2.0.RELEASE....

    spring-jdbc-5.3.10-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.3.10.jar; 赠送原API文档:spring-jdbc-5.3.10-javadoc.jar; 赠送源代码:spring-jdbc-5.3.10-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.3.10.pom; 包含翻译后的API文档:...

    spring-jdbc-5.0.8.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-jdbc-5.0.8.RELEASE.jar; 赠送原API文档:spring-jdbc-5.0.8.RELEASE-javadoc.jar; 赠送源代码:spring-jdbc-5.0.8.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.0.8.RELEASE....

    spring-jdbc-5.3.7-API文档-中英对照版.zip

    赠送jar包:spring-jdbc-5.3.7.jar; 赠送原API文档:spring-jdbc-5.3.7-javadoc.jar; 赠送源代码:spring-jdbc-5.3.7-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.3.7.pom; 包含翻译后的API文档:spring...

    Spring Data JDBC API(Spring Data JDBC 开发文档).CHM

    Spring Data JDBC API。 Spring Data JDBC 开发文档。 官网 Spring Data JDBC API

    spring-jdbc-5.3.7-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.3.7.jar; 赠送原API文档:spring-jdbc-5.3.7-javadoc.jar; 赠送源代码:spring-jdbc-5.3.7-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.3.7.pom; 包含翻译后的API文档:spring...

    Spring JDBC相关jar包:spring_jdbc_4.0.0.zip

    Spring JDBC模块的主要目标是减少对JDBC API的直接依赖,通过提供一种更加高级、易于使用的编程模型来简化数据库访问。在这个“spring_jdbc_4.0.0.zip”压缩包中,包含的是Spring JDBC 4.0.0版本的jar文件,即...

    spring-jdbc-4.0.0.RELEASE-sources.jar

    spring-jdbc-4.0.0.RELEASE-sources.jar

    spring-jdbc-5.1.5.RELEASE.jar

    spring-jdbc-5.1.5.RELEASE.jar

    spring-jdbc-5.2.7.RELEASE-API文档-中文版.zip

    赠送jar包:spring-jdbc-5.2.7.RELEASE.jar; 赠送原API文档:spring-jdbc-5.2.7.RELEASE-javadoc.jar; 赠送源代码:spring-jdbc-5.2.7.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-jdbc-5.2.7.RELEASE....

    spring-jdbc-5.2.3.RELEASE.jar

    java web 开发中需要用到的外部spring jar spring-jdbc-5.2.3.RELEASE.jar

Global site tag (gtag.js) - Google Analytics