热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spring(22)JdbcTemplate

2019独角兽企业重金招聘Python工程师标准###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、con

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、context、dao、jdbc,截图如下
输入图片说明
###2.db.properties

jdbc.user=root
jdbc.password=123456
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql:///test?useUnicode=true&characterEncoding=UTF8jdbc.initPoolSize=10
jdbc.maxPoolSize=50

###3.applicationContext.xml


###4.jdbcTest

package com.test.spring.jdbc;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import javax.sql.DataSource;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;public class JdbcTest {private ApplicationContext ctx&#61; null;private JdbcTemplate jdbcTemplate;{ctx &#61; new ClassPathXmlApplicationContext("applicationContext.xml");jdbcTemplate &#61; (JdbcTemplate) ctx.getBean("jdbcTemplate");}/*** 单个 更新/插入/删除*/&#64;Testpublic void testUpdate(){String sql &#61; "update t_thing set content&#61;? where id&#61;?";jdbcTemplate.update(sql, "张三","1000000001");}/*** 批量 更新/插入/删除*/&#64;Testpublic void testBatchInsert(){/*** 注意&#xff1a;数据库字段是5个列&#xff1a;id,name,content,flag,addTime* 我将id设置为自增长&#xff0c;所以这里insert时不需要填写id*/String sql &#61; "insert into t_thing(name,content,flag,addTime) values(?,?,?,?)";List batchArgs &#61; new ArrayList<>();batchArgs.add(new Object[]{"王五","完成","1","20160904111700"});batchArgs.add(new Object[]{"赵六","没有完成","1","20160904111701"});jdbcTemplate.batchUpdate(sql, batchArgs);}/*** 查询单条记录* 注意&#xff1a;* 1.使用queryForObject(String sql, RowMapper rowMapper, Object... args)查询单个对象* 2.RowMapper指定映射结果集的行&#xff0c;常用的实现类BeanPropertyRowMapper* 3.sql语句要用别名指定返回的字段与接收对象的属性一致* 4.不支持级联查询&#xff0c;所以需要使用mybatis等框架*/&#64;Testpublic void testQueryForObject(){String sql &#61; "SELECT id,name,content,flag,addTime FROM t_thing WHERE id&#61;?";RowMapper rowMapper &#61; new BeanPropertyRowMapper<>(Thing.class);Thing thing &#61; (Thing)jdbcTemplate.queryForObject(sql, rowMapper,1000000000);System.out.println(thing);}/*** 查询多条记录* 注意&#xff1a;* 1.调用的不是QueryForList()方法*/&#64;Testpublic void testQueryForList(){String sql &#61; "SELECT id,name,content,flag,addTime FROM t_thing";RowMapper rowMapper &#61; new BeanPropertyRowMapper<>(Thing.class);List list &#61; jdbcTemplate.query(sql, rowMapper);System.out.println(list);}/*** 统计查询*/&#64;Testpublic void testQueryCount(){String sql &#61; "SELECT COUNT(tt.id) FROM t_thing tt";long count &#61; jdbcTemplate.queryForObject(sql, long.class);System.out.println(count);}/*** 测试数据库联通*/&#64;Testpublic void test() throws SQLException {DataSource dataSource &#61; (DataSource) ctx.getBean("dataSources");System.out.println(dataSource.getConnection());}}

###5.bean

public class Thing {private Integer id;private String name;private String content;private int flag;private String addTime;
}

###6.数据库
输入图片说明


转:https://my.oschina.net/u/2312022/blog/742145



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文深入探讨了如何通过调整InnoDB的关键配置参数来优化MySQL的随机IO性能,涵盖了缓存、日志文件、预读机制等多个方面,帮助读者全面提升数据库系统的性能。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
author-avatar
W于小北B
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有