Spring-JDBDTamplate 的操作
基本的
增,删,改:(只演示增加 因为他们调用的方法都是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 的操作的更多相关文章
- 使用spring连接及操作mongodb3.0
前边有一篇记录过不使用spring,直接在java代码中连接和操作mongodb数据库,这里就紧随其后记录一下使用spring的情况下,在java中简单操作mongodb. maven导包配置: ...
- spring boot 入门操作(二)
spring boot入门操作 使用FastJson解析json数据 pom dependencies里添加fastjson依赖 <dependency> <groupId>c ...
- spring boot 入门操作(三)
spring boot入门操作 devtools热部署 pom dependencies里添加依赖 <dependency> <groupId>org.springframew ...
- spring的事务操作(重点)
这篇文章一起来回顾复习下spring的事务操作.事务是spring的重点, 也是面试的必问知识点之一. 说来这次面试期间,也问到了我,由于平时用到的比较少,也没有关注过这一块的东西,所以回答的不是特别 ...
- spring 学习(四): spring 的 jdbcTemplate 操作
spring 学习(四): spring 的 jdbcTemplate 操作 spring 针对 javaee 的每一层,都提供了相应的解决技术,jdbcTemplate 的主要操作在 dao 层. ...
- 使用Spring Data Redis操作Redis(集群版)
说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...
- spring data jpa 操作pipelinedb 的continuous view 与stream
一. 由于pipelinedb是postgreSQL的扩展,因此相关依赖于配置都合集成postgreSQL是一样的. springboot + spring data jpa + postgreSQL ...
- Spring的jdbcTemplate操作
Spring的jdbcTemplate操作 dao层,使用jdbcTemplate Spring对不同的持久化层技术的支持,都进行了封装 JDBC Hibernate5.0 MyBatis JPA 相 ...
- Spring的IOC操作
Spring的IOC操作 把对象的创建交给spring ioc操作两个部分 (1)ioc的配置文件方式 (2)ioc基于注解的方式 IOC 的底层原理 1.ioc底层原理使用技术 (1)xml配置文件 ...
- Spring aop 记录操作日志 Aspect
前几天做系统日志记录的功能,一个操作调一次记录方法,每次还得去收集参数等等,太尼玛烦了.在程序员的世界里,当你的一个功能重复出现多次,就应该想想肯定有更简单的实现方法.于是果断搜索各种资料,终于搞定了 ...
随机推荐
- 归纳整理Linux下C语言常用的库函数----文件操作
在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...
- python's @property
[python's @property] 参考:http://docs.python.org/3/library/functions.html?highlight=property#property
- ArcEngine调用FeatureToLine工具传参问题
FeatureToLine工具的in_features参数不能为内存图层,否则会报内存错误,正确的写法如下: FeatureToLine ftrToLine = new FeatureToLine() ...
- animate.css动画种类
animate.css 一个非常好用的css动画库 Github地址 包括了一下多种动画 1. bounce 弹跳 2. flash 闪烁 3. pulse 放大,缩小 4. rubberBand 放 ...
- RabbitMQ学习在windows下安装配置
RabbitMQ学习一. 在windows下安装配置 1.下载并安装erlang,http://www.erlang.org/download.html,最新版是R15B01(5.9.1).由于我机器 ...
- DNS BIND之rndc介绍及使用
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭.重载.刷新缓存.增 ...
- 怎样在Windows与Centos下的Linux间共享文件,如果mnt文件夹不显示,可能是mnt缺少共享支持
mnt中的hgfs文件夹就是Linux系统中挂载共享文件的默认文件夹.有的人按步骤共享之后mnt中没有出现共享的文件,可能是因为你的mnt缺少共享支持. 此时可以在Terminal中输入:sudo m ...
- js中with 用法
with 语句用于设置代码在特定对象中的作用域. 它的语法: with (expression) statement例如: var sMessage = "hello"; with ...
- 获取iPod library中的媒体文件
[获取iPod library中的媒体文件] The Media Player framework provides facilities for playing movie, music, audi ...
- asp.net core 1.1 + mysqlsugar + y-ui Demo
最近研究下asp.net core 此源码架构 : .net core mvc 简单三层 依赖注入(.net core自带) mysql + mysqlsugar +sqlsugarcore 需要修 ...