基本的   

  增,删,改:(只演示增加 因为他们调用的方法都是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. Vue cli 脚手架使用

    1:基本的安装 安装node 安装npm Windows 更改环境变量 重启 环境变量生效 安装vue-cli 安装webpack 2:项目构建 https://segmentfault.com/a/ ...

  2. Creating Self-Signed SSL Certificates

    http://weblogic-wonders.com/weblogic/2011/05/25/ssl-configuration-for-weblogic-server/ http://m-butt ...

  3. 用logger在控制台打印信息

    第一步: 导入jar包,maven项目可以直接添加 <dependency> <groupId>log4j</groupId> <artifactId> ...

  4. //todo 的用处

    在代码中添加 //todo 以后要做的事 可以暂时打上标记,以后再来处理. 光有这个没什么用,关键是IDE要支持,比如VS2017,只要按下 ctrl+w,t 就可以在输出窗口中显示出所有 todo的 ...

  5. linux 使用systemctl 启动服务报错: Error: No space left on device

    By default, Linux only allocates 8192 watches for inotify, which is ridiculously low. And when it ru ...

  6. linux主机名

    [linux主机名] 1.查看主机名 主机名即是一台主机的名字,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名. 2.临时修改主机名 命令行下运行命令:“hos ...

  7. 02-SSH综合案例:需求分析(后台)

    1.1.7  用户模块:(后台) 不用添加了,添加的话在前台就注册了. 查询所有用户: 修改用户信息: 删除用户信息: 1.1.8  一级分类:(后台) 主要都还是增删改查的操作 查询所有一级分类: ...

  8. CloudStack 4.1快照测试

    目前4.1只支持存储快照,4.2能支持内快照 1. 选中实例 2. 查看实例卷 3. 创建快照 4. 通过快照创建模板 5. 查看通过快照创建的模板 6. 通过快照创建模板生成的实例 7. 自动定制创 ...

  9. 饮品类App原型制作分享-WineRatingsPlus

    WineRatingsPlus是一款关于红酒的App应用.它帮助你在用餐.聚会或任何场合选择葡萄酒时,都能方便的得到专家意见.同时,它也能帮助鉴赏家和感兴趣的人对葡萄酒更多的了解和选择. 在这款Moc ...

  10. Jakarta Commons Cookbook

      Cookbook就是工具书,应该是前年看的,在中关村看的影印版,全英文,本书主要讲解了一下模块: Core:BeanUtils,Lang,Collections,logging Db:DbUtil ...