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方法用于执行新增.修 ...
随机推荐
- activeMQ类别和流程
Point-to-Point (点对点)消息模式开发流程 : 1.生产者(producer)开发流程: 1.1 创建Connection: 根据url,user和password创建一个 ...
- java8 快速实现List转map 、分组、过滤等操作
利用java8新特性,可以用简洁高效的代码来实现一些数据处理. 定义1个Apple对象: public class Apple { private Integer id; private String ...
- 苹果ios系统无法通过RD Client连接win10服务器远程错误0x00001307
问题描述: 1.RD Client无法远程Windows 10桌面,提示“错误 用户名或密码错误” 之前连接是没有问题的,但是更新了win10系统以后就出现问题了 [解决方法]: 最后找到了原因是因为 ...
- Ubuntu composer 安装thinkphp5 失败,报错:[ErrorException] mkdir(): Permission denied
在Linux环境下,使用composer安装thinkphp5,安装时,报错:[ErrorException] mkdir(): Permission denied : 看 ...
- 解决topjui中工具栏按钮删除刷新从属表
遇到了这么个问题:当在从属datagrid表格中,点击主表工具栏按钮中的删除,通过后台的多表删除的sql,返回给前台之后,从属表的数据成功在数据库中删除,但是在前台页面显示的时候,只刷新了主表,子表未 ...
- Django REST framework基础:解析器和渲染器
解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentTy ...
- 数据库【mysql篇】典型的一些练习题目
班级表 class 学生表student 老师表 teacher 课程表course 成绩表 score 准备数据 创建数据库 create database tang_test charset='u ...
- jq轮播图插件—手写
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- mysql 相关命令
1.mysql导入导出 导出 进入到mysql bin目录 导出表 ./mysqldump -uroot -p --socket=/wdcloud/app/mysql1/temp/mysql.sock ...
- 利用BeEF REST API自动化控制僵尸主机
本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...