Spring框架对Jdbc进行了封装  提供了一个JDBCTemplated对象简化Jdbc开发
步骤
1 导包
2 创建JDBCTemplate 对象 依赖于DataSource
3 调用JDBCTemplace 方法
update 增、删、’改 都在这里边执行
queryForMap() 将查询结果封装为map集合 将列名作为键
将列名作为键,将列里的值作为值
queryForList() 查询结果封装到 List集合
query() 查询结果 将结果封装为JavaBean对象
queryForObject() 将结果封装为对象
query  实现增删改
package cn.lijun.demo1; import JdbcUtils.JdbcUtils;
import org.springframework.jdbc.core.JdbcTemplate; public class Demo1JDBCTemplate {
public static void main(String[] args) {
//导包
//创建JDBCTemplate 对象 依赖于 DataSource
JdbcTemplate te=new JdbcTemplate(JdbcUtils.getDatdSoutce());
//调用JDBCTemple 方法
String sql="insert into coount value(null,?,?)";
//String sql="update coount set money=5000 where id=?";
int i = te.update(sql,"dssfdsf",1000);
System.out.println(i); }
}
package JdbcUtils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties; /*
*Druid工具类
**/
public class JdbcUtils {
//定义成员变量 DateSource
private static DataSource ds; static{
//加载配置文件
try {
Properties pro=new Properties();
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(in);
ds = DruidDataSourceFactory.createDataSource(pro); } catch (Exception e) {
e.printStackTrace();
} }
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
//释放资源
public static void close(AutoCloseable... c){
for(AutoCloseable a: c){
if(a!=null){
try {
a.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
//获得连接池
public static DataSource getDatdSoutce(){
return ds;
} }


package cn.lijun.demo;

import JdbcUtils.JdbcUtils;

import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate; import java.util.List;
import java.util.Map; public class Demo2JDBCTemple {
//Junit单元测试 可以让方法独立运行
//修改Id为1的salary为100000
@Test
public void text1(){
//创建JDBCTemplate 对象 依赖于DataSource
JdbcTemplate temple=new JdbcTemplate(JdbcUtils.getDatdSoutce());
String sql="update coount set money=100000 where id=?";
int i = temple.update(sql, 5);
System.out.println(i);
}
@Test
//添加
public void text2(){
JdbcTemplate te=new JdbcTemplate(JdbcUtils.getDatdSoutce());
String sql="insert into coount value(null,?,?)";
int i = te.update(sql, "李登", 1000000);
System.out.println(i);
}
@Test
//查询所有
public void text3(){
JdbcTemplate jt=new JdbcTemplate(JdbcUtils.getDatdSoutce());
String sql="select * from coount";
List<Map<String, Object>> maps = jt.queryForList(sql);
for(Map<String,Object> a:maps){
System.out.println(a); }
}
@Test
//查询所有记录 将其封装为Coount对象 的List 集合
public void text4(){
JdbcTemplate jd=new JdbcTemplate(JdbcUtils.getDatdSoutce());
String sql="select * from coount";
List<Coount> list = jd.query(sql, new BeanPropertyRowMapper<Coount>(Coount.class));
for(Coount a:list){
System.out.println(a);
}
}
}

StringJdbc :jdbcTemplate的更多相关文章

  1. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  2. Spring JdbcTemplate

    参考链接: https://my.oschina.net/u/437232/blog/279530 http://jinnianshilongnian.iteye.com/blog/1423897 J ...

  3. jdbcTemplate批量插入(添加)

    public void addSubscibe(List<PermedipUserSubscribeVo> list) { final List<PermedipUserSubscr ...

  4. 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】

    一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...

  5. Spring MVC篇二、使用JdbcTemplate进行数据库操作

    上一篇只是一个简单的Spring MVC框架,接下来添加一些跟数据库的交互. 一.添加jdbc相关配置   在maven中添加相关依赖后,配置数据库访问参数及数据源.数据库参数使用配置文件,代码如下: ...

  6. 使用Spring JdbcTemplate实现数据库操作

    今天我来演示 关于JDBCTemplate实现对数据库的查询和添加 首先是添加 第一步大家都知道 创建一个实体类 然后写一个方法 把实体类当参数传进去 在实现这个接口 JdbcDaoSupport这个 ...

  7. JdbcTemplate进行查询

    1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() 例如:下面使用queryForInt()方法传回user表中的记录数: jdbcT ...

  8. jdbcTemplate之jdbc模板技术

    1:为什么要使用jdbcTemplate? 在实际开发中使用jdbc技术太过复杂,为了减少代码冗余,操作简单 步骤一:创建实体类 package beans; public class Book { ...

  9. Spring JdbcTemplate 方法详解

    JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...

随机推荐

  1. js 学习之路6: if...else...条件语句的使用

    1.1 if (...) { ... } else { ... } <!DOCTYPE html> <html> <meta http-equiv="Conte ...

  2. idea 模板注释设置

    一.首先我们来设置IDEA中类的模板: 1.File-->settings-->Editor-->File and Code Templates-->Files 我们选择Cla ...

  3. SQLServer之创建LOGON触发器

    LOGON触发器工作原理 登录触发器将为响应 LOGON 事件而激发存储过程. 与 SQL Server实例建立用户会话时将引发此事件. 登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前 ...

  4. WPF中自定义标题栏时窗体最大化处理之WindowChrome

    注意: 本文方法基础是WindowChrome,而WindowChrome在.NET Framework 4.5之后才集成发布的.见:WindowChrome Class 在.NET Framewor ...

  5. C#基础知识之属性

    其实属性大家经常用,可以说是非常熟悉了,这里就记录一下我那天突然对属性产生的疑惑.为什么需要使用属性?属性的好处是什么? 一.什么是属性? 属性(Property) 是类(class).结构(stru ...

  6. jquery中数组对象下面的属性名名是动态的如何获取

    <script> let normalListData = []; function temp() { for (var i = 0; i < 10; i++) { let rowC ...

  7. MySQL之ORM框架SQLAlchemy

    一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取 ...

  8. P4554 小明的游戏

    SPFA板子题 #include <stdio.h> #include <string.h> #define Clean(X,K) memset(X,K,sizeof(X)) ...

  9. [LeetCode] 8. 字符串转换整数 (atoi)

    题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/ 题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先 ...

  10. HttpServletRequest get

    假设客户端请求的地址:http://localhost:8082/TestReq/MyServlet/username=李雷&age=20 request.getRequestURL http ...