如果有整合jpa了, 那么在dao中直接, 不需要引入依赖

@Resource
private JdbcTempalte jdbcTempalte;

如果没有的话, 就先在pom.xml中加入依赖

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

编写dao声明为repository

package com.iwhere.test.dao;

import javax.annotation.Resource;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository; import com.iwhere.test.demo.Demo; /**
* 使用jdbcTemplate操作数据库
* @author 231
*
*/
@Repository
public class JdbcDao { @Resource
private JdbcTemplate jdbcTemplate; /**
* 通过id获取对象
* @return
*/
public Demo getById(Integer id) {
String sql = "select id, name, sex from demo where id = ?";
BeanPropertyRowMapper<Demo> mapper = new BeanPropertyRowMapper<Demo>(Demo.class);
return jdbcTemplate.queryForObject(sql, mapper, id);
} }

之后即可在service和controller层进行调用了

更多操作方式

public List<AreaDto> getAreaDtos() {
String sql = "select * from t_area ";
return (List<AreaDto>) template.query(sql, new BeanPropertyRowMapper(AreaDto.class));
} public List<AreaDto> getAreaDtos1() {
String sql = "select * from t_area ";
return (List<AreaDto>) template.query(sql, new AreaRowMapper());
} public Map<String, Object> getBuilds() {
String sql = "select buildid,buildname from t_building ";
List<BuildingDto> list = this.template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));
Map<String, Object> map = new HashMap<String, Object>();
for (BuildingDto build : list) {
map.put(String.valueOf(build.getBuildid()), build.getBuildname());
}
return map;
} public Map<String, Object> getFloors(String build) {
String sql = "select floorid ,floorname from t_floor where build_id=?";
List<FloorDto> list = this.template.query(sql, new Object[] { build }, new BeanPropertyRowMapper(FloorDto.class));
Map<String, Object> map = new LinkedHashMap<String, Object>();
for (FloorDto floorDto : list) {
System.out.println(floorDto.getFloorid());
map.put(String.valueOf(floorDto.getFloorid()), floorDto.getFloorname());
}
return map;
} public Map<String, Object> getAreas(String build, String floor) {
String sql = "select areaid ,area_name from t_area where build_id=? and floor_id=?";
List<AreaDto> list = this.template.query(sql, new Object[] { build, floor }, new BeanPropertyRowMapper(AreaDto.class));
Map<String, Object> map = new LinkedHashMap<String, Object>();
for (AreaDto areaDto : list) {
System.out.println(areaDto.getAreaid());
map.put(String.valueOf(areaDto.getAreaid()), areaDto.getArea_name());
}
return map;
} public List<StoreDto> getStoreDtos(int buildid, int floorid, int areaid) {
String sql = "select * from t_store where build_id=? and floor_id=? and area_id=?";
return (List<StoreDto>) template.query(sql, new Object[] { buildid, floorid, areaid }, new BeanPropertyRowMapper(
StoreDto.class));
} public List<BuildingDto> getBuildingDto() {
String sql = "select * from t_building ";
return (List<BuildingDto>) template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));
} public List<FloorDto> getFloorDtos(int buildid) {
String sql = "select * from t_floor where build_id=? ";
return (List<FloorDto>) template.query(sql, new Object[] { buildid }, new BeanPropertyRowMapper(FloorDto.class));
} public List<AreaDto> getAreaDto(int buildid, int floorid) {
String sql = "select * from t_area where build_id=? and floor_id=?";
return (List<AreaDto>) template.query(sql, new Object[] { buildid, floorid }, new BeanPropertyRowMapper(AreaDto.class));
} public AreaDto getAreaDto(int id) {
String sql = "select * from t_area where areaid=?";
return template.queryForObject(sql, new Object[] { id }, new BeanPropertyRowMapper(AreaDto.class));
} public BuildingDto getBuildingDto(int buildId) {
String sql = "select * from t_building where buildid=?";
return template.queryForObject(sql, new Object[] { buildId }, new BeanPropertyRowMapper(BuildingDto.class));
} public FloorDto getFloorDto(int floorId) {
String sql = "select * from t_floor where floorid=?";
return template.queryForObject(sql, new Object[] { floorId }, new BeanPropertyRowMapper(FloorDto.class));
} public List<StoreDto> getAllStores() {
String sql = "select * from t_store ";
return (List<StoreDto>) template.query(sql, new BeanPropertyRowMapper(StoreDto.class));
} public String storeName(int storeId) {
String sql = "select storename from t_store where id=?";
return template.queryForObject(sql, new Object[] { storeId }, String.class);
} public StoreDto getStoreById(int storeInt) {
String sql = "select * from t_store where id=?";
return template.queryForObject(sql, new Object[] { storeInt }, new BeanPropertyRowMapper(StoreDto.class));
} public int getCountStore() {
String sql = "select count(id) from t_store";
return this.template.queryForInt(sql);
} public void saveBuild(BuildingDto buildingDto) {
} public void deleteBuildById(int buildid) {
String sql = "delete from t_store where id=?";
this.template.update(sql, buildid);
} public void updateBuildById(BuildingDto buildingDto) { }
} class AreaRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int index) throws SQLException {
AreaDto areaDto = new AreaDto();
areaDto.setAreaid(rs.getInt("areaid"));
areaDto.setArea_name(rs.getString("area_name"));
areaDto.setArea_detail(rs.getString("area_detail"));
areaDto.setBuild_id(rs.getInt("build_id"));
areaDto.setFloor_id(rs.getInt("floor_id"));
areaDto.setInsert_time(rs.getTimestamp("insert_time"));
areaDto.setOperate_id(rs.getInt("operate_id"));
areaDto.setUpdate_time(rs.getTimestamp("update_time"));
areaDto.setRegion_name(rs.getString("region_name"));
areaDto.setSortno(rs.getString("sortno"));
return areaDto;
}

springboot-6-整合jdbc的更多相关文章

  1. SpringBoot 之 整合JDBC使用

    导入相关依赖: # pom.xml <dependency> <groupId>org.springframework.boot</groupId> <art ...

  2. SpringBoot 整合jdbc和mybatis

    摘要 该文章主要为记录如何在SpringBoot项目中整合JDBC和MyBatis,在整合中我会使用简单的用法和测试用例,毕竟该文章目的是为了整合,而不是教大家如何去使用.希望大家多多包涵. 通用配置 ...

  3. springboot之整合基本的jdbc并操作Mysql数据库

    对于数据访问层,无论是SQL还是NOSQL,springboot默认采用整合spring data方式进行统一处理,添加大量自动配置,屏蔽了许多设置,引入各种xxxTemplate,xxxReposi ...

  4. springboot整合JDBC出现Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.

    今天使用springboot整合JDBC的使用,开始使用的是 com.mysql.jdbc.Driver驱动 结果运行出现此异常 那我们根据提示要求来修改即可 把驱动改成最新的com.mysql.cj ...

  5. 3、SpringBoot整合之SpringBoot整合JDBC

    SpringBoot整合JDBC 一.创建SpringBoot项目 选择Spring Web.JDBC API.MySQL Driver 二.在pom配置文件中修改JDBC版本,导入lombok &l ...

  6. SpringBoot整合jdbc及整合Druid数据源

    一.整合jdbc 1.创建一个springInitializr项目 勾选 web----springweb.SQL----JDBC API,MYSQL Diver 2.连接数据库 3.创建yml 4. ...

  7. 9 — springboot整合jdbc、druid、druid实现日志监控 — 更新完毕

    1.整合jdbc.druid 1).导入依赖 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  8. springboot下整合各种配置文件

    本博是在springboot下整合其他中间件,比如,mq,redis,durid,日志...等等  以后遇到再更.springboot真是太便捷了,让我们赶紧涌入到springboot的怀抱吧. ap ...

  9. SpringBoot Druid整合,SpringBoot 集成Druid

    SpringBoot Druid整合,SpringBoot 集成Druid ================================ ©Copyright 蕃薯耀 2018年4月8日 http ...

  10. SpringBoot+SpringData 整合入门

    SpringData概述 SpringData :Spring的一个子项目.用于简化数据库访问,支持NoSQL和关系数据存储.其主要目标是使用数据库的访问变得方便快捷. SpringData 项目所支 ...

随机推荐

  1. hdu 1014

    我:题都看不懂 路人甲:这是随机数分配题目 路人乙:这是求生成元,求mod N的生成元,即生成元与N互质 路人丙:这是根据给出的递推公式算一下 0~ mod-1之间的数是否都有出现过,如果都出现了,那 ...

  2. hdu 5039 线段树+dfs序

    http://acm.hdu.edu.cn/showproblem.php?pid=5039 给定一棵树,边权为0/1.m个操作支持翻转一条边的权值或者询问树上有多少条路径的边权和为奇数. 用树形df ...

  3. 论文笔记(2)-Dropout-Regularization of Neural Networks using DropConnect

    这篇paper使用DropConnect来规则化神经网络.dropconnect和dropout的区别如下图所示.dropout是随机吧隐含层的输出清空,而dropconnect是input unit ...

  4. 敏捷项目管理架构(APMF)

    研读许秀影博士的<敏捷项目管理:基础知识与应用实务>一书,其中提到传统项目管理与敏捷项目管理的混合管理模式—敏捷项目管理架构(Agile Project Management Framew ...

  5. 曲演杂坛--重建索引后,还使用混合分区么?(Are mixed pages removed by an index rebuild?)

    原文来自:http://www.sqlskills.com/blogs/paul/mixed-pages-removed-index-rebuild/ 在SQL SERVER 中,区是管理空间的基本单 ...

  6. python 查找字符串同时包含数字和字母的最长子字符串的几种实现方法

    有个字符串$sd1#111$svda123!!!221&eSSDSDG,包含特殊字符.数字和字母,输出最长的子字符串和他的长度 例如上面的字符串同时包含数字和字母的字符串是svda123,长度 ...

  7. 无废话网页重构系列——(2)来套Web重构装备

    本篇主要从语言入门.规范.工具.构建.库.框架.版本控制等各方面展开,篇幅会有点长,涉及到的工具类,会另开博文详细介绍. 另外说明Web重构是Web前端的开始,主要侧重Web页面,如实现布局与兼容,符 ...

  8. Day44 数据库的操作

    视图操作: 1.左连接查询 select * from person left join dept on person.dept_id = dept.did 2. 右连接 3. 内连接  inner ...

  9. linux常用命令大全(linux基础命令入门到精通+命令备忘录+面试复习+实例)

    作者:蓝藻(罗蓝国度) 创建时间:2018.7.3 编辑时间:2019.4.29 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为ce ...

  10. 廖雪峰Python学习笔记——序列化

    序列化 定义:程序运行时所有变量都存在内存中,把变量从内存中变成可存储或可传输的过程称为序列化pickling,在其他语言中称为serialization,marshalling,flattening ...