基本的   

  增,删,改:(只演示增加 因为他们调用的方法都是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. [X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>

    1. 下载并按照MinGW,最好就缺省按照    http://sourceforge.net/projects/ ... ler/mingw-get-inst/    把C:\MinGW\bin添加 ...

  2. App登录状态维持

    转载地址:http://www.jianshu.com/p/4b6b04244773 目前APP大都支持长登录,就是用户登录一次后,如果用户没有主动注销.清除APP缓存数据或卸载APP,就在一段时间内 ...

  3. Eclipse开启或取消快速导航栏(toggle breadcrumb)

    在Eclipse中快速调出导航栏 关闭导航栏: 在视图的设置中,去掉breadcrum的勾选状态

  4. Python pip配置国内源

    众所周知,Python使用pip方法安装第三方包时,需要从 https://pypi.org/ 资源库中下载,但是会面临下载速度慢,甚至无法下载的尴尬,这时,你就需要知道配置一个国内源有多么重要了,通 ...

  5. Python运维开发基础08-文件基础

    一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...

  6. cas增加验证码

    参考地址:https://blog.csdn.net/attackmind/article/details/52052502 参考地址:https://blog.csdn.net/jadyer/art ...

  7. oracle中如何修改process

    转自https://blog.csdn.net/qq_35686181/article/details/52350922 oracle中修改process  在 oracle中,要经常查看proces ...

  8. springMVC框架介绍以及运行流程(图解)

    1 Springmvc是什么? spring web mvc和struts2都属于表现层的框架,spring web mvc是spring框架的一部分(所以spring mvc与spring之间不需要 ...

  9. Linux 启动和关闭自定义命令

    首先是启动命令 [lambert@lambert ~]$ vim startup.sh #!/bin/bash nohup XXXXXX >/home/lambert/>& &am ...

  10. C/C++互相调用

    参考: http://www.cnblogs.com/Yogurshine/p/3913073.html http://blog.chinaunix.net/uid-24118190-id-29853 ...