博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring系列教程——14Spring数据库操作讲解
阅读量:3958 次
发布时间:2019-05-24

本文共 3048 字,大约阅读时间需要 10 分钟。

Spring系列教程——14Spring数据库操作讲解

文章目录

一.JdbcTemplate的使用

1.简介

jdbcTemplate类似DBUtils,用于操作Jdbc的工具类,它需要依赖于连接池DataSource(数据源)

相关概念:
1.ODBC(Open Database Connectivity,ODBC)开放数据库连接,是微软公司开提供了一组对数据库访问的标准API(应用程序编程接口)
2.DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发
3.C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

c3p0与dbcp区别:

1.c3p0有自动回收空闲连接功能dbcp没有自动回收空闲连接的功能
2.c3p0提供最大空闲时间,DBCP提供最大连接数
3.c3p0当连接超过最大空闲连接时间时,当前连接就会被断掉。DBCP当连接数超过最大连接数时,所有连接都会被断开

2.使用讲解

在前面章节的基础上我们需要导入下面jar包:

链接:https://pan.baidu.com/s/1V-eAEG4X-3W3_20hxr-c_w

提取码:ckbn

1.准备表数据:

CREATE DATABASE SpringFrameWork;USE SpringFrameWork;CREATE TABLE t_user(  id INT PRIMARY KEY AUTO_INCREMENT,  username VARCHAR(50),  PASSWORD VARCHAR(32));INSERT INTO t_user(username,PASSWORD) VALUES('jack','520');INSERT INTO t_user(username,PASSWORD) VALUES('rose','521');

在这里插入图片描述

2.测试

//创建数据源(使用dbcp连接池) BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/springframework"); dataSource.setUsername("root"); dataSource.setPassword("123456"); //创建jdbcTemplate JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.update("update t_user set username = ? where id = ?", "tom","1");

在这里插入图片描述

三.Spring数据源配置讲解

1.使用dbcp的配置

将前面章节讲的UserServiceImpl里面添加下面内容:

public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate; } private JdbcTemplate jdbcTemplate;

xml文件配置:

同时addUser()修改为:

public void addUser(User user) {
jdbcTemplate.update("insert into t_user (username,password) values(?,?)",user.getUsername(),user.getPassword()); }

测试代码为:

ApplicationContext context = new  ClassPathXmlApplicationContext("beans.xml");IUserService userService = (IUserService) context.getBean("userService");User user = new User();user.setUsername("jerry");user.setPassword("666");userService.addUser(user);

在这里插入图片描述

2.使用c3p0的配置

仅需在dbcp配置的基础上将

改为

在这里插入图片描述

三.JdbcDaoSupport使用讲解

1.xml配置

2.修改addUser()内容

public void addUser(User user) {
getJdbcTemplate().update("insert into t_user (username,password) values(?,?)",user.getUsername(),user.getPassword());}

测试代码:

ApplicationContext context = new  ClassPathXmlApplicationContext("beans.xml");IUserService userService = (IUserService) context.getBean("userService");User user = new User();user.setUsername("king");user.setPassword("888");userService.addUser(user);

在这里插入图片描述

四.properties文件简化dataSource配置

1.db.properties文件内容:

driverClass=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://localhost:3306/SpringFrameWorkuser=rootpassword=123456

2.接下来在beans.xml文件里面配置

3.dataSource配置相关改为

再来测试一次:

在这里插入图片描述

转载地址:http://gtlzi.baihongyu.com/

你可能感兴趣的文章