StringJdbc :jdbcTemplate
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的更多相关文章
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- Spring JdbcTemplate
参考链接: https://my.oschina.net/u/437232/blog/279530 http://jinnianshilongnian.iteye.com/blog/1423897 J ...
- jdbcTemplate批量插入(添加)
public void addSubscibe(List<PermedipUserSubscribeVo> list) { final List<PermedipUserSubscr ...
- 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】
一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...
- Spring MVC篇二、使用JdbcTemplate进行数据库操作
上一篇只是一个简单的Spring MVC框架,接下来添加一些跟数据库的交互. 一.添加jdbc相关配置 在maven中添加相关依赖后,配置数据库访问参数及数据源.数据库参数使用配置文件,代码如下: ...
- 使用Spring JdbcTemplate实现数据库操作
今天我来演示 关于JDBCTemplate实现对数据库的查询和添加 首先是添加 第一步大家都知道 创建一个实体类 然后写一个方法 把实体类当参数传进去 在实现这个接口 JdbcDaoSupport这个 ...
- JdbcTemplate进行查询
1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() 例如:下面使用queryForInt()方法传回user表中的记录数: jdbcT ...
- jdbcTemplate之jdbc模板技术
1:为什么要使用jdbcTemplate? 在实际开发中使用jdbc技术太过复杂,为了减少代码冗余,操作简单 步骤一:创建实体类 package beans; public class Book { ...
- Spring JdbcTemplate 方法详解
JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...
随机推荐
- C# 不用递归,获取无限层级数据
对象属性 public class ResList { public int ID { get; set; } public List<ResList> Child { get; set; ...
- mysql免安装版初次使用
在自己电脑上安装一个mysql数据库并启动,碰到一些问题,总结一下 1.下载免安装版mysql数据库,百度下载了了5.7.25版本 2.在bin文件夹下找到my-defaults.ini文件,我这没有 ...
- LeetCode算法题-Island Perimeter(Java实现)
这是悦乐书的第238次更新,第251篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第105题(顺位题号是463).您将获得一个二维整数网格形式的地图,其中1代表土地,0代 ...
- #017 python实验课第五周
总结写在最前面: 1.语法还是不会...(每周强制留的C语言一百题都没空写PS.团委诶....)都是现查现用(莫凡Python这个网站特别好用知识点一个视频就一分钟B站的播放器没广告,用啥学啥,还配有 ...
- kernel笔记——进程调度
调度器完成以下任务: 时钟中断(或类似的定时器)时间内刷新进程的时间片,设置进程调度标志 系统调用返回或中断完成时检查调度标志 schedule函数 内核代码中完成进程调度的函数为schedule() ...
- final等关键字和代码块
一.final关键字 其作用 1.final除构造方法外均可修饰 2.修饰类:被final修饰的类是无法被继承的. 3.修饰方法,可被继承,但是无法被重写 4.修饰变量使其为常量 5.修饰引用型变量, ...
- 使用github 的相关博客
基于hexo+github搭建一个独立博客 如何用Github的gh-pages分支展示自己的项目 使用git clone error: RPC failed Git的使用-- ...
- 采用ADM2483磁隔离器让RS485接口更简单更安全
采用ADM2483磁隔离器让RS485接口更简单更安全 摘要:本文介绍RS485的特点及应用,指出了普通RS485接口易损坏的问题,针对存在的问题介绍了以ADM2483为核心的磁隔离解决方案. 关键词 ...
- PySocks安装使用方法
PySocks是一个基于Python的SOCKS代理客户端,它是SocksiPy的一个分支,修改了一些bug和增加了一些额外功能. ---------------------------------- ...
- React-使用装饰器
create-react-app默认不支持装饰器的,需要做以下配置. 打开 package.json ,可以看到eject.运行 npm run eject 可以让由create-react-app创 ...