Java EE企业级-第四章:Spring JdbcTemplate

这篇博客介绍了如何使用Spring的JdbcTemplate类进行数据库操作,包括配置数据源、创建表、添加用户、更新用户和删除用户的示例。在过程中遇到了数据库连接异常,通过更换JDBC驱动版本解决了问题。此外,还展示了如何用JUnit进行单元测试。
摘要由CSDN通过智能技术生成

JdbcTemplate类

打开mysql

在这里插入图片描述
新建一个spring的数据库

在这里插入图片描述

导入jar包

在这里插入图片描述

src下的applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/spring?serverTimezone=UTC&amp;useSSL=false&amp;characterEncoding=utf8"/>
    <property name="username" value="root"/>
    <property name="password" value="123456"/>
    </bean>
    
    <!-- 配置数据库模板 -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>

JdbcTemplateTest 测试类

package com.itheima.jdbc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateTest {
	/*
	 * execute()建立表
	 */
	public static void main(String[] args) {
		ApplicationContext applicationContext = new
				ClassPathXmlApplicationContext("applicationContext.xml");
		System.out.println("execute()建立表");
		//获取JdbcTemplate实例
		JdbcTemplate jdbcTemplate = (JdbcTemplate) 
				applicationContext.getBean("jdbcTemplate");
		System.out.println("获取JdbcTemplate实例");
		//使用execute创建表account
		jdbcTemplate.execute("create table account(" 
				+ "id int primary key auto_increment,"
				+"username varchar(50),"
				+"balance double)");
		System.out.println("表account创建成功");
	}
}

运行结果:

在这里插入图片描述
在这里插入图片描述

错误分析

eption in thread “main” org.springframework.jdbc.CannotGetJdbcConnectionExce

发生这个错误,是因为这个jar包
在这里插入图片描述

只需把这个包换成5.1.8版本就行了
在这里插入图片描述

JdbcTemplate类中execute()方法的使用

JUnit测试单元

package com.itheima.jdbc;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateTest {
	/*
	 * execute()建立表
	 */
//	public static void main(String[] args) {
//		ApplicationContext applicationContext = new
//				ClassPathXmlApplicationContext("applicationContext.xml");
//		//获取JdbcTemplate实例
//		JdbcTemplate jdbcTemplate = (JdbcTemplate) 
//				applicationContext.getBean("jdbcTemplate");
//		//使用execute创建表account
//		jdbcTemplate.execute("create table account(" 
//				+ "id int primary key auto_increment,"
//				+"username varchar(50),"
//				+"balance double)");
//		System.out.println("表account创建成功");
//	}
	/**
	 * 学习junit4测试
	 */
	@Test
	public void mainTest() {
		//加载配置文件
		ApplicationContext applicationContext = new
			ClassPathXmlApplicationContext("applicationContext.xml");
		//获取JdbcTemplate实例
		JdbcTemplate jdbcTemplate = (JdbcTemplate) 
				applicationContext.getBean("jdbcTemplate");
		//使用execute()方法执行sql语句,创建用户账号管理表account
		jdbcTemplate.execute("create table account(" 
				+ "id int primary key auto_increment,"
				+"username varchar(50),"
				+"balance double)");
		System.out.println("表account创建成功");
		
	}
	
}

运行
在这里插入图片描述

JdbcTemplate类中update()方法的使用

添加用户

	@Test
	public  void addAccountTest() {
//		加载配置文件
		ApplicationContext applicationContext = new 
				ClassPathXmlApplicationContext("applicationContext.xml");
//		获得AccountDao实例
		AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDao");
//		创建Account用户数据
		Account user1 = new Account();
		user1.setUsername("tom");
		user1.setBalance(1000.00);
		
//		执行方法
		int num = accountDao.addAccount(user1);
		if(num>0) {
			System.out.println("添加"+num+"用户成功。");
		}else {
			System.out.println("添加用户失败。");
		}
	}
	

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

更新用户

@Test
	public void updateAccountTest() {
//		加载配置文件
		ApplicationContext applicationContext = new 
				ClassPathXmlApplicationContext("applicationContext.xml");
//		获得AccountDao实例
		AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDao");
//		创建Account用户数据
		Account user1 = new Account();
		user1.setId(1);
		user1.setUsername("tom1");
		user1.setBalance(2000.00);
		
//		执行方法
		int num = accountDao.updateAccount(user1);
		if(num>0) {
			System.out.println("修改"+num+"条用户成功。");
		}else {
			System.out.println("修改用户失败。");
		}
	}

在这里插入图片描述
在这里插入图片描述

删除用户

	@Test
	public void deleteAccountTest() {
//		加载配置文件
		ApplicationContext applicationContext = new 
				ClassPathXmlApplicationContext("applicationContext.xml");
//		获得AccountDao实例
		AccountDao accountDao = (AccountDao) applicationContext.getBean("accountDao");
		
//		执行方法
		int num = accountDao.deleteAccount(1);
		if(num>0) {
			System.out.println("删除"+num+"条用户成功。");
		}else {
			System.out.println("删除用户失败。");
		}
	}
	

在这里插入图片描述
在这里插入图片描述

JdbcTemplate类中query()方法的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值