基本的   

  增,删,改:(只演示增加 因为他们调用的方法都是update方法):

  

package com.hxzy.spring_jdbc_template;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class JDBC_Tamplate {
/**
* JDBCTamplate spring针对JDBC技术进行 了封装 使我们更容易的对数据库进行crud操作
*/
public static void main(String[] args) {
//获取数据源对象
DriverManagerDataSource dataSource = new DriverManagerDataSource();
//向里面存取数据
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/student");
dataSource.setUsername("root");
dataSource.setPassword("gubin");
//获得JDBCTempleat对象
JdbcTemplate template = new JdbcTemplate(dataSource);
//编写Sql语句
String sql = "INSERT INTO student VALUES(15,?,?,?,?)";
//使用问号占位符操作 向数据库存取数据
int row = template.update(sql,"赵小凡",,"男","");
System.out.println("执行成功!有" + row + "行,受到了影响"); }
}

执行结果图:

     

 演示:查询的代码:

   单一的查询:(查询 返回的结果是一个数值  比如查询总条数)返回结果过为一个值返回一个值          使用queryForObject(sql,String.class)

  

/** * JDBC Tamplate 查询的操作 */ public static void main(String[] args) { /** * 获得数据源对象 */ JdbcTemplate jdbcTemplate = Utils.getjdbcTemplate(); /** * 查询 返回一个值 queryForObject(sql,String.class) */ String sql = "select count(0) from student"; //查询数据库中的条数 String s = jdbcTemplate.queryForObject(sql,String.class); //返回结果是一个的话 使用qyeryForObject(sql语句,String.class) System.out.println(s); }

查询操作 返回一个对象:

  (今天被这个方法恶心到了...  返回的结果只能是1条不能是多条..)不建议使用!!

  使用 queryForObject(sql ,new 实现类 )

这个方法使用  需要一个实体类 与数据库表对应 然后需要一个实现类 这个类实现 RowMapper<实体类> 重写 接口的MapRow方法 获得的数据返给对象 进行Set 存入对象

  实现:

    我的实体类叫 Student  实现类叫StudentImps 

Student:

  

package com.hxzy.spring_jdbc_template.Dao;

import lombok.Data;

@Data
public class Student {
private String s_name;
private Integer s_id;
private Integer s_age;
private String s_sex;
private String s_phone;
}

StudentImpl:

  

package com.hxzy.spring_jdbc_template;

import com.hxzy.spring_jdbc_template.Dao.Student;
import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet;
import java.sql.SQLException; public class Studentimpl implements RowMapper<Student> { @Override
public Student mapRow(ResultSet resultSet, int i) throws SQLException {
//获得数据
int s_id = resultSet.getInt("sid");
int s_age = resultSet.getInt("sage");
String s_name = resultSet.getString("sname");
String s_sex = resultSet.getString("ssex");
String s_phone = resultSet.getString("sphone");
System.out.println("进入了...");
//将数据存入数据库
Student student = new Student();
student.setS_id(s_id);
student.setS_age(s_age);
student.setS_name(s_name);
student.setS_phone(s_phone);
student.setS_sex(s_sex);
return student;
}
}

 我的JDBCTamplate:

  

        /**
* 查询 返回一个对象
*/
String sql = "select * from student limit 0,1";
Student student = jdbcTemplate.queryForObject(sql,new Studentimpl()); System.out.println(student);

返回集合操作:

  跟上面返回对象的步骤一个 使用 query() 返回的是一个集合  注意 “一个” 集合 只有一个 同样都是 创建实体类 创建实现类  .....

代码:

   /**
* 查询 返回一个集合
*/
String sql = "select * from student limit 0,5";
List<Student> list = jdbcTemplate.query(sql,new Studentimpl());
System.out.println(list);

												

Spring-JDBDTamplate 的操作的更多相关文章

  1. 使用spring连接及操作mongodb3.0

    前边有一篇记录过不使用spring,直接在java代码中连接和操作mongodb数据库,这里就紧随其后记录一下使用spring的情况下,在java中简单操作mongodb.   maven导包配置: ...

  2. spring boot 入门操作(二)

    spring boot入门操作 使用FastJson解析json数据 pom dependencies里添加fastjson依赖 <dependency> <groupId>c ...

  3. spring boot 入门操作(三)

    spring boot入门操作 devtools热部署 pom dependencies里添加依赖 <dependency> <groupId>org.springframew ...

  4. spring的事务操作(重点)

    这篇文章一起来回顾复习下spring的事务操作.事务是spring的重点, 也是面试的必问知识点之一. 说来这次面试期间,也问到了我,由于平时用到的比较少,也没有关注过这一块的东西,所以回答的不是特别 ...

  5. spring 学习(四): spring 的 jdbcTemplate 操作

    spring 学习(四): spring 的 jdbcTemplate 操作 spring 针对 javaee 的每一层,都提供了相应的解决技术,jdbcTemplate 的主要操作在 dao 层. ...

  6. 使用Spring Data Redis操作Redis(集群版)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  7. spring data jpa 操作pipelinedb 的continuous view 与stream

    一. 由于pipelinedb是postgreSQL的扩展,因此相关依赖于配置都合集成postgreSQL是一样的. springboot + spring data jpa + postgreSQL ...

  8. Spring的jdbcTemplate操作

    Spring的jdbcTemplate操作 dao层,使用jdbcTemplate Spring对不同的持久化层技术的支持,都进行了封装 JDBC Hibernate5.0 MyBatis JPA 相 ...

  9. Spring的IOC操作

    Spring的IOC操作 把对象的创建交给spring ioc操作两个部分 (1)ioc的配置文件方式 (2)ioc基于注解的方式 IOC 的底层原理 1.ioc底层原理使用技术 (1)xml配置文件 ...

  10. Spring aop 记录操作日志 Aspect

    前几天做系统日志记录的功能,一个操作调一次记录方法,每次还得去收集参数等等,太尼玛烦了.在程序员的世界里,当你的一个功能重复出现多次,就应该想想肯定有更简单的实现方法.于是果断搜索各种资料,终于搞定了 ...

随机推荐

  1. 7.25 9figting!

    TEXT 87 Fund management基金管理   A Miller's tale 米勒传奇(陈继龙编译) Dec 7th 2006 From The Economist print edit ...

  2. strip命令

    去掉文件里调试和符号信息,文件大小变小,一般在发布的时候使用. 主要作用于可执行文件,动态库,目标文件等. 可参考:http://blog.csdn.net/stpeace/article/detai ...

  3. 在线编辑器CKeditor,CKfinder

    在线编辑器的分类: 常见的在线编辑器有很多,比较常用的有FCKeditor(在线编辑器——Ajax 浏览器 端服务器文件管理器),CKeditor(在线编辑器与服务器端文件管理器的分离,) 其中CKe ...

  4. nat转发

    http://www.revsys.com/writings/quicktips/nat.html https://www.alibabacloud.com/zh/product/nat?spm=a3 ...

  5. 磁盘512n,512e,4k原生磁盘的区别和操作系统支持

    磁盘按照物理扇区大小的不同分为三种512byte原生扇区硬盘(512n),4KB扇区仿真512byte(512E)磁盘,4kB扇区原生磁盘. 首先说物理扇区,扇区是硬盘上最小的读写单位,这个是硬盘决定 ...

  6. golang之切片与排序

    1.排序与查找操作 排序操作在sort包中,sort.Ints对整数进行排序,sort.Strings对字符串进行排序,sort.Float64对浮点数进行排序 package main import ...

  7. [OS] 远程启动计划任务时以管理员身份运行

    在Jenkins建了一个task自动启动Selenium的Grid,命令行是这样写的: schtasks /end /tn RestartGrid /s SZTEST201606 /u szdomai ...

  8. UI设计可供性解析:巧用隐藏的设计力提升用户体验

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在实际的Web或App界面设计中,设计师们在学习和实践各种专业知识和技能之外,也会不可避免的遇到到各 ...

  9. CoderForces 518C Anya and Smartphone (模拟)

    题意:给定一个手机,然后一共有 n 个app,告诉你每个屏幕最多放 k 个,现在要你运行 m 个app,每次都从第一个屏幕开始滑动,每运行一个,它就和前一个交换位置,第一个就不换了,现在问你要滑动多少 ...

  10. java并发编程实战:第十四章----构建自定义的同步工具

    一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 可阻塞的状态依赖操作的结构 acquire lock on o ...