JDBCTemplate
一 JDBCTemplate
1.1概述
使用JDBCTemplate可以将jdbc操作数据库代码简化到三步,它是spring家族的一个自产评
(Spring,SpringMVC,SpringBoot,SpringSecurty,SpringIPA…)所有产品,都是免费开源,它是对JDBC封装的一套工具包【jar】
api
创建JDBCTemplate对象
New JDBCTemplate(DataSource 连接池);
编写sql【问号占位符】
执行方法 使用了元数据的方法,底层还是实现Statement的执行方法,
可以查看mySQL第四天的知识点
//执行sqlPublic viod exectue(…)
//执行dmlPublic int update(…);
//执行dqlPublic T query(…);
1.2 初体验需求
使用jdbcTemplate 创建一张商品表步骤分析
1 创建java工程
2 导入jar包Mysql驱动,druid连接池,jdbcTemlate工具包3
定义druid配置文件
4 编写代码
1.3 实现增删改
全局变量
增加
insert into user values ();
修改
Update product set price = ? where name =?;
删除
Delete from prodcut where name = ?;
1.4 实现查询
查询结果为单值
例如;统计价格低于3000的商品数量
//格式
Public T queryForObject(String sql , class 返回值类型,object …参数列表);
查询结果为一条记录【map】
查询小米8的商品信息
//格式Public Map<String , Object> queryForMap(String sql , Object …参数列表);
查询结果为多条记录【list】
查询价格低于3000的商品信息
Public List <map<String,Object>> queryForList(String sql , Object…参数列表);
查询结果手动封装到对象
查询价格低于3000的商品信息
//格式Public List query(String sql ,RowMapper 手动封装接口,Object…参数列表);
查询结果自动封装到对象
查询价格低于3000的商品信息
二 数据库元数据
2.1概述元数据(meta data): 定义数据的数据
可以获取数据库,表,列的信息打比方,就好像我们要想搜索一首歌(歌本身是数据),而我们可以通过歌名,作者,专辑等信息来搜索,name这些歌名,作者专辑等等就是这首歌的数据.
如果我们想要查询记录,则需要先确定数据库,表,列等信息来搜索,name数据库,表,列信息(列个数,名称 , 类型)等等这些就是记录的元数据.
2.2 ParameterMetaData
通过PreparedStatement 获取请求参数元数据为了获取问号的个数和类型
2.3 ResultSetMetaData
通过ResultSet,查询结果的元数据列信息(个数,列名,列类型)
2.4 自定框架实现增删改
需求分析Int = JDBCTemplate.update(sql)
在这里我没有用 try catch finaly 进行抛出异常
测试类