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方法用于执行新增.修 ...
随机推荐
- Cherrypy文件上传非ASCII文件名乱码问题解决
Cherrypy 版本: 18.0.1 由于某些特殊原因(可能是与标准兼容的问题),Cherrypy对上传文件的原文件名使用 ISO-8859-1 编码方式解码,导致非 ASCII 的文件名显示为乱码 ...
- oracle EM 如何调整界面显示的语言
EM是通过浏览器语言来识别界面语言的,没有选项调整.我以chrome为例将默认中文改为英文: EM调整前为中文界面: 调整chrome语言显示为英文: 再重新开一个窗口,打开EM,界面已经调整为英文了 ...
- 2016 西普杯丶天津CTF预选赛(3/6)
哆啦A梦(图片隐写) 格式:SimCTF{ } 解:放到kail中binwalk一下(Binwalk是一个固件的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处.简单易用,完全自动化脚本,并 ...
- C++中 #if 和 #ifdef 区别
以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作#if 条件语句程序段1 //如果条件语句成立,那么就编译程序段1#endif程序段2//如果条件不语句成立,那么就编译程序段2# ...
- jpa 联合查询方法
public interface TaskBaseline { String getNumber(); String getTitle(); String getName(); String getP ...
- 解决chrome安装谷歌访问助手错误问题
解决chrome安装谷歌访问助手错误问题 针对新版本安装谷歌访问助手插件报错问题 1.下载谷歌访问助手 http://www.ggfwzs.com/ 2.chrome浏览器打开发者模式 3.将下载的c ...
- KindEditor富文本编辑器使用
我的博客本来打算使用layui的富文本编辑器,但是出了一个问题,无法获取编辑器内容,我参考官方文档,获取内容也就那几个方法而已,但是引入进去后始终获取的值为空,百度和bing都试过了,但是始终还是获取 ...
- 学号 20175329 2018-2019-3《Java程序设计》第八周学习总结
学号 20175329 2018-2019-3<Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型 可以使用"class 名称"声明一个类,为了和普通的 ...
- jmeter(二十五)linux环境运行jmeter并生成报告
jmeter是一个java开发的利用多线程原理来模拟并发进行性能测试的工具,一般来说,GUI模式只用于创建脚本以及用来debug,执行测试时建议使用非GUI模式运行. 这篇博客,介绍下在linux环境 ...
- hbase集群搭建参考资料
hadoop分布式集群搭建 http://www.ityouknow.com/hadoop/2017/07/24/hadoop-cluster-setup.html hbase分布式集群搭建: htt ...