学习Spring-JdbcTemplate

跟老雷学习Spring-JdbcTemplate


首先需要用到的jar包主要是这三个----------------------------------------------------------------------------------------------------------------------

整理一下思路:若要连接数据库该怎么做?

第一步:创建数据源
第二步:创建JdbcTemplate
第三步:完成CRUD

第一步:创建数据源
	//创建数据源对象
		DriverManagerDataSource dataSource = new DriverManagerDataSource();
//设置连接参数   驱动名称
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql:127.0.0.1:3306/db_hotel");
		dataSource.setUsername("root");
		dataSource.setPassword("123456");

连接参数一共设置四个:
1、DriverClassName: 在这个mysql-connector-java-bin.jar包下找到Driver,右键Copy Qualified Name
在这里插入图片描述
在这里插入图片描述
2、Url:就是数据库的路径和数据库名字

dataSource.setUrl("jdbc:mysql:127.0.0.1:3306/db_hotel");

3、Username:是连接数据库的用户名:我这边是root。
4、Password:是连接数据库的密码
最后测试一下dataSource是否创建成功

System.out.println(dataSource);

测试结果为如下,说明你创建成功了。
在这里插入图片描述

第二步:创建JdbcTemplate
//创建JdbcTemplate
		JdbcTemplate jdbcTemplate = new JdbcTemplate();
		//让JDBC关联数据源
		jdbcTemplate.setDataSource(dataSource);
		
第三步:创建Sql语句测试一下
//创建sql语句
		String sql = "select count(*) from sys_user";
		Long count = jdbcTemplate.queryForObject(sql, Long.class);
		System.out.println(count);

好的,问题来了,测试的结果是这样的(真让人头大)

Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:mysql:127.0.0.1:3306/db_car_lease
	at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:393)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:477)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:487)
	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:497)
	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:503)
	at com.lzh.test.TestMan.main(TestMan.java:34)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql:127.0.0.1:3306/db_car_lease
	at java.sql.DriverManager.getConnection(DriverManager.java:689)
	at java.sql.DriverManager.getConnection(DriverManager.java:208)
	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:153)
	at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:144)
	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:196)
	at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:159)
	at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
	at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
	... 6 more

看这个报错,大概就是没有找到合适的数据库连接的驱动包,也就是jar包。
大概猜一下,可能是jar包的版本问题。
花了大概五分钟的时间,换了一个版本的jar包,结果还是一样。这时候我就反应过来了,是不是数据库连接路径错了呢? 果然。问题找到了。

dataSource.setUrl("jdbc:mysql://localhost:3306/db_car_lease");

这里的localhost就是127.0.0.1。主要的问题在出错之前是这样的

dataSource.setUrl("jdbc:mysql:localhost:3306/db_car_lease");

太粗心了。所以说,以后写代码一定要认真一点,越基础的东西漏写了,出错了反而越难找到。
接下来,我们就可以对这个数据库进行操作了,来试试在这个数据库里创建一个user表。

//创建表
		String sql = "CREATE TABLE user (id Integer(11),name VARCHAR(32))";
		jdbcTemplate.update(sql);

JdbcTempate
》update:做添加、修改、删除
》queryForObject:查询单个对象
》queryForList: 查询返回一个集合(多条数据)

发布了13 篇原创文章 · 获赞 2 · 访问量 851

猜你喜欢

转载自blog.csdn.net/RussellChampagne/article/details/102702143