范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

JdbcTemplate查询BeanPropertyRowMapper返回自定义对象

  JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。
  JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。
  Spring源码地址:https://github.com/spring-projects/spring-framework
  在JdbcTemplate中执行SQL语句的方法大致分为3类:
  execute:可以执行所有SQL语句,一般用于执行DDL语句。
  update:用于执行INSERT、UPDATE、DELETE等DML语句。
  queryXxx:用于DQL数据查询语句。
  JdbcTemplate配置连接池
  org.springframework.jdbc.core.JdbcTemplate类方便执行SQL语句
  public JdbcTemplate(DataSource dataSource)
  创建JdbcTemplate对象,方便执行SQL语句
  public void execute(final String sql)
  execute可以执行所有SQL语句,因为没有返回值,一般用于执行DDL语句。
  JdbcTemplate使用步骤
  准备DruidDataSource连接池
  导入依赖的jar包
  spring-beans-4.1.2.RELEASE.jar
  spring-core-4.1.2.RELEASE.jar
  spring-jdbc-4.1.2.RELEASE.jar
  spring-tx-4.1.2.RELEASE.jar
  com.springsource.org.apache.commons.logging-1.1.1.jar
  创建JdbcTemplate对象,传入Druid连接池
  调用execute、update、queryXxx等方法
  案例代码public class Demo04 { 	public static void main(String[] args) { 		// 创建表的SQL语句 		String sql = "CREATE TABLE product(" 				+ "pid INT PRIMARY KEY AUTO_INCREMENT," 				+ "pname VARCHAR(20)," 				+ "price DOUBLE" 				+ ");"; 				 		JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource()); 		jdbcTemplate.execute(sql); 	} }
  org.springframework.jdbc.core.JdbcTemplate类方便执行SQL语句
  API介绍
  public  List query(String sql, RowMapperrowMapper)
  执行查询语句,返回一个List集合,List中存放的是RowMapper指定类型的数据。
  public class BeanPropertyRowMapper implements RowMapper
  BeanPropertyRowMapper类实现了RowMapper接口
  使用步骤
  定义Product类
  创建JdbcTemplate对象
  编写查询的SQL语句
  使用JdbcTemplate对象的query方法,并传入BeanPropertyRowMapper对象// query使用BeanPropertyRowMapper做映射返回对象 public static void test07() throws Exception { 	JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource());  	// 查询数据的SQL语句 	String sql = "SELECT * FROM product;"; 	List list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Product.class));  	for (Product product : list) { 		System.out.println(product); 	} } JdbcTemplate查询-RowMapper返回自定义对象
  org.springframework.jdbc.core.JdbcTemplate类方便执行SQL语句
  API介绍
  public  List query(String sql, RowMapperrowMapper)
  执行查询语句,返回一个List集合,List中存放的是RowMapper指定类型的数据。
  1
  2
  使用步骤   定义Product类   创建JdbcTemplate对象   编写查询的SQL语句   使用JdbcTemplate对象的query方法,并传入RowMapper匿名内部类   在匿名内部类中将结果集中的一行记录转成一个Product对象// query使用rowMap做映射返回一个对象 public static void test06() throws Exception { JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource()); // 查询数据的SQL语句 String sql = "SELECT * FROM product;"; List query = jdbcTemplate.query(sql, new RowMapper() { @Override public Product mapRow(ResultSet arg0, int arg1) throws SQLException { Product p = new Product(); p.setPid(arg0.getInt("pid")); p.setPname(arg0.getString("pname")); p.setPrice(arg0.getDouble("price")); return p; } }); for (Product product : query) { System.out.println(product); } } 使用JdbcTemplate对象的query方法,并传入RowMapper匿名内部类 在匿名内部类中将结果集中的一行记录转成一个Product对象   JdbcTemplate查询-queryForList返回一个List集合   目标   能够掌握JdbcTemplate中queryForList方法的使用   讲解   org.springframework.jdbc.core.JdbcTemplate类方便执行SQL语句   API介绍   public List> queryForList(String sql)   执行查询语句,返回一个List集合,List中存放的是Map类型的数据。   1
  2
  使用步骤   创建JdbcTemplate对象   编写查询的SQL语句   使用JdbcTemplate对象的queryForList方法   处理结果public static void test05() throws Exception { String sql = "SELECT * FROM product WHERE pid<?;"; JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource()); List> list = jdbcTemplate.queryForList(sql, 8); for (Map map : list) { System.out.println(map); } }   原文链接:https://blog.csdn.net/weixin_40001125/article/details/88538576

华为nova9系列发布,华为最希望用户明白什么2021年9月23日,华为发布nova9系列手机发布了,这是个潮流系列,实事求是讲,产品定位稍差于时尚P系,价格上也能体现。废话少说,直接说说这次产品华为最想让用户知道哪些优势一外首日涨超95,蓝领和社交能解决Boss直聘的远忧?作者小法师原创财经小锄头(chutou0325)6月11日,BOSS直聘顺利登陆纳斯达克。自5月22日向美交所提交招股书以来,有红杉资本等机构的保驾护航,BOSS直聘的上市之路比想真实经历小米10邮寄拆字库完美解用户锁真或假笔者为了验证某大型比较宽泛的电商平台解锁小米手机的能力,特意把手中的一台小米10上用户锁,然后进行邮寄解锁看看卖家能否成功,现在分享给大家。第一家随便找了一家询问,回答是这样的小米如无特别重要数据,可以升级华为鸿蒙系统华为鸿蒙系统近期来到了HarmonyOS3。0开发者预览版,系统也日趋进步,拥有华为手机,部分荣耀旧机型的一些用户已经率先升级了鸿蒙系统,还有很多用户也是跃跃欲试。笔者手中也有几部对魅族2020年产品线预测1。魅族17,旗舰机,骁龙865g,6。2寸小屏超旗舰,电池4000。2。魅族17plus,屏幕6。5寸,电池达到4500。3。魅族17PRO,顶尖旗舰,1亿像素,全方面升级。4。摄影后时代的发展国货主力军将会花落谁家?历史上的今天,对摄影圈来说是一个特别的日子,1907年6月10日,摄影界的先驱奥古斯特和卢米埃尔兄弟表示,他们研制出一种制作彩色照片的可行方法。在过于那个还停留在黑白照片的时代,这嗡嗡嗡!小米冲击高端可行吗?出路在哪里?刚才随便搜了一下,小米10能抢占华为用户吗?出来的内容大同小异,现在我们理性分析一下。小米会抢华为用户吗?小米怎么做高端产品?1。什么样的人买华为mate系列,大部分是30岁以上的成功不是一蹴而就,看看华为是如何一步步冲击高端的!成功不是一蹴而就,谁都想冲击高端,但堆硬件并不就是高端,本文将回顾一下华为是如何一步步走向高端的,希望小米不骄不躁,做好产品,人生路远,慢慢来。1987年,任正非集资21000元人回顾小米数字系列,看看价格到底是怎么涨起来的。2010年,正是中国智能手机刚刚开始普及,市场起飞的阶段。雷军召集了和他一样志同道合的8位创始人,几个人一起喝了一碗小米粥,创办了小米公司。小米手机于2011年10月正式发布,售价永诺要转行卖家具了?相机镜头跟灯都不卖了吗?众所周知,永诺是一家摄影器材厂商,从一个老灯厂逐渐全方位发展成为了一家覆盖了各个领域的摄影器材厂商,先后推出了闪光灯镜头LED灯美妆灯直播云台以及最近新推出的直播相机,但你知道吗?如何拍摄出让人怦然心动的猫片?蓝眼外籍模特众所周知,拍摄小动物也是摄影圈中很受欢迎的题材之一,可是怎么拍好这种题材却是也让人烦恼的事情,今天我们就请到了来自美国的几位蓝眼睛的仙女仙男模特,让他们来配合我们拍照吧。事前准备工