一. Spring的JDBC的模板

1. Spring对持久层也提供了解决方案: ORM模块和JDBC的模板。

2. Spring提供了很多的模板用于简化开发:

3. Spring的JDBC模板的jar包:

. Spring的JDBC的模板简单使用例子

1. 新建一个名为SpringJdbc的Java工程, 同时拷入相关jar包

2. 创建SpringJdbc.java

package com.lywgames.springjdbc;import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;public class SpringJdbc {public static void main(String[] args) {// 创建连接池DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");dataSource.setUrl("jdbc:mysql://192.168.25.138:3306/studyjdbc?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");dataSource.setUsername("root");dataSource.setPassword("lyw123456");// 创建jdbc模板JdbcTemplate jdbcTemplate = new JdbcTemplate();jdbcTemplate.setDataSource(dataSource);Long count = jdbcTemplate.queryForObject("select count(*) from user", Long.class);System.out.println("count = " + count);}
}

3. 查看user表

4. 运行项目

. Spring的JDBC的模板属性注入方式例子

1. 新建一个名为SpringJdbcProperty的Java工程, 同时拷入相关jar包

2. 创建User.java

package com.lywgames.springjdbc;import java.io.Serializable;
import java.sql.Timestamp;public class User implements Serializable {private static final long serialVersionUID = 1L;private Integer id;private String username;private String password;private Timestamp registertime;public User() {}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Timestamp getRegistertime() {return registertime;}public void setRegistertime(Timestamp registertime) {this.registertime = registertime;}@Overridepublic String toString() {return "id=" + id + ",username=" + username + ",password=" + password + ",registertime=" + registertime;}}

3. 创建SpringJdbc.java

package com.lywgames.springjdbc;import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;/*** Spring单元测试, 还必须引入aop模块*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringJdbc {// 注入Jdbc模板属性@Resource(name = "jdbcTemplate")private JdbcTemplate jdbcTemplate;@Testpublic void getAdminUserList() {List<User> list = jdbcTemplate.query("select * from user", new MyRowMapper());for (User user : list) {System.out.println(user);}}public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");JdbcTemplate jdbcTemplate = context.getBean(JdbcTemplate.class);User user = jdbcTemplate.queryForObject("select * from user where id=?", new MyRowMapper(), 1000);System.out.println(user);context.close();}}class MyRowMapper implements RowMapper<User>{@Overridepublic User mapRow(ResultSet rs, int rowNum) throws SQLException {User account = new User();account.setId(rs.getInt("id"));account.setUsername(rs.getString("username"));account.setPassword(rs.getString("password"));account.setRegistertime(rs.getTimestamp("registertime"));return account;}
}

4. 在src目录下创建jdbc.properties数据库连接配置文件

5. 在src目录下创建applicationContext.xml

6. 引入JUnit

7. 运行项目

8. JUnit运行项目

012_JDBC模板相关推荐

  1. VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件

    1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...

  2. SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图

    什么是Freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而 ...

  3. SpringBoot-web开发(三): 模板引擎Thymeleaf

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) 目录 1. 引入 ...

  4. 二分查找模板全面总结

    二分查找 二分法的引入 情形1 1.X的平方根 2.搜索旋转排序数组 情形2 1.第一个错误的版本 2.寻找峰值 3.寻找旋转排序数组中的最小值 情形3 在排序数组中查找第一个和最后一个位置 当遇到查 ...

  5. Django 模板HTML转义和CSRF4.3

    Django对字符串进行自动HTML转义,如在模板中输出如下值: 视图代码: def index(request):return render(request, 'temtest/index2.htm ...

  6. Django 模板继承4.2

    模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部.尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填 ...

  7. Django 模板4.1

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  8. Django 视图和模板1.4

    视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf-8 fr ...

  9. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解

    模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...

最新文章

  1. EBS Form中数据提交方式(COMMIT)
  2. 身体里面有多少细胞呢?
  3. UOJ #214 [UNR #1]合唱队形 (概率期望计数、DP、Min-Max容斥)
  4. nginx全部下载地址
  5. linux交叉编译无法识别gcc编译器
  6. Express Cookie 的基本使用
  7. Remove Assignments to Parameters(移除对参数的赋值)
  8. 图像处理------图像细化
  9. 06MySQL基本函数的使用
  10. Linux内核分析 - 网络[十四]:IP选项
  11. 快逸报表数据库密码加密解决方案
  12. 百度硬盘搜索使用指南
  13. 网页前端基础三:JSP技术
  14. yolo批量检测图片
  15. 建站百科|企业网站logo设计指南
  16. Adobe Bridge使用教程:BR键盘快捷键大全
  17. 爬虫,酷我音乐接口解析
  18. 全流程+讲解+避坑指南 第一次使用vulhub搭建漏洞环境
  19. Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
  20. 清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家

热门文章

  1. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2- “Tab”标签新增可“最大化”显示功能...
  2. Linux:终端自定义title
  3. 如何在RHEV平台中新建ISO存储域
  4. CentOS6.5 keepalived详解及实现Nginx服务的高可用性
  5. 【解题报告】【HDOJ1392】【Graham凸包】Surround the Trees
  6. cocos2d-x学习笔记16:记录存储1:CCUserDefault
  7. 试用版office 2010中提示Error opening SocialConnectorRes.dll求解!!
  8. Django中使用Celery
  9. 数据仓库-数据仓库的简介(由来、与关系数据库的区别、数据仓库模型)
  10. PHP实现四种基本排序算法