您的位置:首页 > 编程语言 > Java开发

SpringBoot学习 —— JdbcTemplate操作数据库

2018-03-15 23:19 399 查看
整体步骤:(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>那么只需要在需要使用的类中加入:@ResourceprivateJdbcTemplatejdbcTemplate;这样就可以使用jdbcTemplate进行数据库的操作了。比如:String sql ="insertinto 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 * */@Repositorypublicclass DemoDao {        @Resource    private JdbcTemplatejdbcTemplate;        /**     *通过id获取demo对象.     *@param id     *@return     */    public Demo getById(longid){       String sql = "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 * */@Servicepublic 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);       }}  com.kfit.test.web.Demo2Controller :package com.kfit.test.web; importjavax.annotation.Resource;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importcom.kfit.test.bean.Demo;importcom.kfit.test.service.DemoService; @RestController@RequestMapping("/demo2")publicclass Demo2Controller{    @Resource    private DemoServicedemoService;            /**     *测试保存数据方法.     *@return     */    @RequestMapping("/save")    public String save(){       Demo d = new Demo();       d.setName("Angel");       demoService.save(d);//保存数据.       return"ok.Demo2Controller.save";    }        //地址:http://127.0.0.1:8080/demo2/getById?id=1    @RequestMapping("/getById")    publicDemo 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: