zoukankan      html  css  js  c++  java
  • 9. 使用JdbcTemplate

    整体步骤:

    (1)  在pom.xml加入jdbcTemplate的依赖;

    (2)  编写DemoDao类,声明为:@Repository,引入JdbcTemplate

    (3)  编写DemoService类,引入DemoDao进行使用

    (4)  编写Demo2Controller进行简单测试。

    具体操作流程如下:

    使用JdbcTemplate类需要加入(如果在JPA已经加入的话,这个步骤就可以忽略了)

    <dependency>
    
                      <groupId>org.springframework.boot</groupId>
    
                      <artifactId>spring-boot-starter-data-jpa</artifactId>
    
    </dependency>

    那么只需要在需要使用的类中加入:

    @Resource

    privateJdbcTemplate jdbcTemplate;

    这样就可以使用jdbcTemplate进行数据库的操作了。

    比如:

    String sql = "insert into Demo(name,age) values(?,?)";
    
    jdbcTemplate.update(sql,new Object[]{demo.getName(),demo.getAge()});

    实战代码:

    编写com.kfit.test.dao.DemoDao 数据库操作类:

    package com.kfit.test.dao;
    
     
    
    import javax.annotation.Resource;
    
     
    
    importorg.springframework.jdbc.core.BeanPropertyRowMapper;
    
    importorg.springframework.jdbc.core.JdbcTemplate;
    
    importorg.springframework.jdbc.core.RowMapper;
    
    importorg.springframework.stereotype.Repository;
    
     
    
    import com.kfit.test.bean.Demo;
    
     
    
    /**
    
     * 使用JdbcTemplate操作数据库.
    
     * @author Administrator
    
     *
    
     */
    
    @Repository
    
    publicclass DemoDao {
    
          
    
           @Resource
    
           private JdbcTemplate jdbcTemplate;
    
          
    
           /**
    
            * 通过id获取demo对象.
    
            * @param id
    
            * @return
    
            */
    
           public Demo getById(longid){
    
                  Stringsql = "select*from Demo where id=?";
    
                  RowMapper<Demo>rowMapper =newBeanPropertyRowMapper<Demo>(Demo.class);
    
                  returnjdbcTemplate.queryForObject(sql, rowMapper,id);
    
           }
    
          
    
    }
    
     
    com.kfit.test.service.DemoService :
    
    package com.kfit.test.service;
    
     
    
    import javax.annotation.Resource;
    
    import org.springframework.stereotype.Service;
    
    import com.kfit.test.bean.Demo;
    
    import com.kfit.test.dao.DemoDao;
    
    import com.kfit.test.dao.DemoRepository;
    
     
    
    /**
    
     * 提供Demo服务类.
    
     * @author Administrator
    
     *
    
     */
    
    @Service
    
    public class DemoService {
    
          
    
           @Resource
    
           privateDemoRepository demoRepository;
    
          
    
           @Resource
    
           private DemoDaodemoDao;
    
          
    
           public voidsave(Demo demo){
    
                  demoRepository.save(demo);
    
           }
    
          
    
           public Demo getById(longid){
    
                  //demoRepository.findOne(id);//在demoRepository可以直接使用findOne进行获取.
    
                  returndemoDao.getById(id);
    
           }
    
    }

     c

    om.kfit.test.web.Demo2Controller :
    
    package com.kfit.test.web;
    
     
    
    import javax.annotation.Resource;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    
    importorg.springframework.web.bind.annotation.RestController;
    
    import com.kfit.test.bean.Demo;
    
    import com.kfit.test.service.DemoService;
    
     
    
    @RestController
    
    @RequestMapping("/demo2")
    
    publicclass Demo2Controller {
    
           @Resource
    
           private DemoService demoService;
    
          
    
          
    
           /**
    
            * 测试保存数据方法.
    
            * @return
    
            */
    
           @RequestMapping("/save")
    
           public String save(){
    
                  Demod = new Demo();
    
                  d.setName("Angel");
    
                  demoService.save(d);//保存数据.
    
                  return"ok.Demo2Controller.save";
    
           }
    
          
    
           //地址:http://127.0.0.1:8080/demo2/getById?id=1
    
           @RequestMapping("/getById")
    
           public Demo getById(longid){
    
                  returndemoService.getById(id);
    
           }
    
          
    
    }
    
     

    剩下的就是启动进行测试了,访问地址:http://127.0.0.1:8080/demo2/getById?id=1

    那么在浏览器中就可以看到:

    {

    id: 1,

    name: "Angel"

    }

    当前前提是你的数据库中有id=1的数据了,不然会报错的:

    org.springframework.dao.EmptyResultDataAccessException

     
  • 相关阅读:
    python将阿拉伯数字转换为中文书写的数字形式
    python生成textgrid文件
    将 Nodejs 服务部署到阿里云服务器
    盛最多水的容器
    连续子数组的最大和
    数组中出现次数超过一半的数字
    变态跳台阶
    二进制中 1 的个数
    784.字母大小写全排列
    链表中环的入口节点
  • 原文地址:https://www.cnblogs.com/blackCatFish/p/9912189.html
Copyright © 2011-2022 走看看