Spring JDBC

本文介绍了Spring框架中JDBCTemplate的使用方法,包括基本的数据库操作如执行SQL语句、查询数据、更新记录等,并展示了如何在DAO层集成JDBCTemplate,简化日常的数据库开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          SpringJDBC的使用主要是spring对JDBC提供一些必要的支持,使JDBC的代码更加简洁、高效。spring对jdbc的支持主要是通过JDBCTemplate类来实现。
         使用JDBC操作数据库时需要进行以下步骤:打开数据库、创建statement语句、执行sql语句、返回执行结果等等。JDBCTemplate的作用是用于完成资源的创建以及释放工作,从而简化了对JDBC的使用。它还可以帮助我们避免一些常见的错误,比如忘记关闭数据库连接。JdbcTemplate将完成JDBC核心处理流程,比如SQL语句的创建、执行,而把SQL语句的生成以及查询结果的提取工作留给我们的应用代码。它可以完成SQL查询、更新以及调用存储过程,避免了数据库操作过程中的低水平重复劳动的问题,简化数据库开发。

         JDBCTemplate常用方法
         execute方法方法执行 SQL 语句
         
       ApplicationContext context = new ClassPathXmlApplicationContext("JDBCTemplateBean.xml");
       JdbcTemplate jdbcTemplate =(JdbcTemplate)context.getBean("jdbcTemplate");
       String sql ="create table_user(user_id int primary key,user_name varchar(60))";
       jdbcTempalte.execute(sql);


    query方法,用于执行查询相关语句;
   
 Public void query(){
    String name=(String)jdbcTemplate.queryForObject(
             "selcet name from user where id=?",
                         new Object[]{id},
                         Java.lang.String.class);
    }


    update方法  
    
public void testResultSet() {  
     jdbcTemplate.update("insert into test(name) values('name')");  
     String listSql = "select * from test";  
     List result = jdbcTemplate.query(listSql, new RowMapper<Map>() {  
      @Override  
      public Map mapRow(ResultSet rs, int rowNum) throws SQLException {  
          Map row = new HashMap();  
          row.put(rs.getInt("id"), rs.getString("name"));  
          return row;  
     }});  
    Assert.assertEquals(1, result.size());  
    jdbcTemplate.update("delete from test where name='name5'");       
   }  

 
    在Dao中使用JDBCTemplate
  
  @Resposity
     public class ViewDao{
       private JdbcTempalte jdbcTemplate
       public void initDb{context
          String sql ="create table_user(user_id int primary key,user_name varchar(60))";
          jdbcTempalte.execute(sql);
       }
       
     }


   spring中配置JDBCTemplate注入DAO;


   
<pre name="code" class="html"><!--配置数据源——> 
     <context :property-placeholder location ="classpath:jdbc.properties" />
     <bean id="dataSource" class="org.apache.commons.dbcp.BaseDataSource"
         destory_method="close"
         p:driverClassName="${jdbc.driverClassName}"
         p:url= "${jdbc.url}"
         p:username= "${jdbc.username}"
         p:password= "${jdbc.password}" />
    
    <bean id="jdbcTemplate"
      class="org.springframework.jdbc.core.JDBCTemplate"
      p:datasource-ref="dataSource"/>




评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值