Spring 5 笔记 - JdbcTemplate

1. 什么的是JdbcTemplate

  • Spring 框架对JDBC进行封装,使用JdbcTemplate可以很方便实现对数据库操作。

2. 准备工作

2.1 安装MySQL数据库

MySQL下载官网:http://www.mysql.com

进入官网,页面拉到底,点击如下:

然后选择对应系统安装包进行下载:

如果是下载Windows操作系统免安装MySQL安装包(这里演示免安装配置方式),如下:

下载完成后解压,然后进行配置:

  1. 配置环境变量:

配置好后,cmd如下命令检查是否配置成功:

  1. 创建配置文件,命名为my.ini,编辑my.ini文件的内容,然后将此文件放到mysql的bin文件夹的同级目录下(即放在根目录下),如图:

文本内容如下,方便复制:

[mysql]

#设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port=3306

# 设置mysql的安装目录

basedir=D:\MySQL\mysql-8.0.31-winx64

# 设置mysql数据库的数据的存放目录,必须是data

datadir=D:\MySQL\mysql-8.0.31-winx64\data

#允许最大的连接数

max_connections=200

#服务端使用的字符集默认为8比特编码的latin1字符集

character_set_server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

  1. 安装MySQL服务,执行命令为 mysqld-install,如下:

注意:上面一定要管理员身份打开cmd命令窗口,特别时win10系统下!否则可能无效。

执行上面的初始化命令后,在根目录下生成了data文件夹及里面的相关文件

注:如果遇到如下问题:

原因一:my.ini文件中的basedir(设置mysql的安装目录)、datadir(设置mysql数据库的数据的存放目录)与MySQL解压后的路径不一致

解决办法:检查mysql安装目录 my.ini 目录,将basedir和datadir改为MySQL解压后的路径

原因二:my.ini文件中basedir和datadir的路径符号问题,此原因跟用的系统有关

解决方法:my.ini文件中把basedir和datadir中的 \ 改成 \\就可以正常执行了,据说这个跟用的系统有关

成功后就会生成一个data存储数据文件夹

  1. 启动MySQL服务,并使用用户root登录,同时设置登录密码(这里用“root”),如下:

(在“Enter password”后直接回车即可)

  1. 登录后进入MySQL数据库初始界面,输入简单命令测试MySQL是否部署成功,如下:

注意:上面一定要管理员身份打开cmd命令窗口,特别时win10系统下!否则可能无效。

也可以看之前任务管理器里是否启动了该服务:

2.2 安装Sqlyog可视化界面

MySQL数据库管理工具,常用的工具还有Navicat

SQLyog下载地址:SQLyog - Download

双击下载的exe文件,开始下载安装:

点击“Run”进行安装,然后一直点击下一步,直到完成:

桌面图标如下:

双击打开后发现需要破解才能用,先试用着,以后再破解。

新建连接如下:

注:网上下载了破解版:

问题:用SQLyog连接时出现如下错误:

原因

因为SQLyog连接mysql8.0时,SQLyog Ultimate显示报错信息并附带乱码:“错误号码2058,Plugin caching——sha2_passward could not be loaded:******** ”(最后一段信息是乱码)。

将报错信息翻译过来就是:“插件缓存——sha2_密码无法进行加载”,这是由于你的SQLyog mysql 密码加密方法变了,SQLyog未能正确解析使用。

解决办法一

1. 以管理员身份运行cmd,输入mysql查看环境变量是否配置。

见此输出,说明mysql的环境变量没有配置。

打开电脑环境变量,在path中加入mysql的bin路径到path中。

2. 连接数据库,执行sql修改密码

以管理员身份进入命令行窗口, 输入命令:

mysql -u root -p

登录到你个人的 mysql 数据库,然后 执行如下SQL语句:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';

如:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'

(这里的分号很重要)

管理员身份启动cmd,执行命令重启服务:

3. 打开SQLyog再次连接数据库

连接成功。

解决办法二:在前面提到的配置文件中加入如下配置(必须在[mysqld]之后加入):

default_authentication_plugin=mysql_native_password

然后重启mysql服务即可。

2.3 下载mysql驱动Jar包

驱动包下载地址:MySQL

下载后解压获得Jar包:

2.4 引入相关Jar包

druid(德鲁伊)包在之前的例子中已经引入,这里不再引入。

还有Spring的三个依赖:jdbc、tx 和orm 包。

以上Jar包引入项目中:

3. 使用JdbcTemplate实例

3.1 添加数据实现

  1. 在Spring配置文件中配置数据库连接池
  2. 配置JdbcTamplete对象,注入dataSource
  3. 创建service类,创建dao类,在dao中注入JdbcTamplete对象
  4. 创建数据库,对应数据库表创建实体类
  5. 编写service和dao,实现数据的添加操作。
  6. dao中调用JdbcTamplate对象里的update方法实现添加操作

3.2 修改和删除数据实现

跟上面的例子类似,注意区别如下:

3.3 查询数据实现

(1)JdbcTamplete操作数据库(查询返回某个值,如查询表里有多少条数据)

同上例子,关键区别如下:

(2)JdbcTamplete操作数据库(查询返回对象,如查询图书的详情页面)

调用JdbcTamplete的方法如下方法:

  1. 第一个参数:sql语句
  2. 第二个参数:RowMapper是接口,返回不同类型的数据,使用这个接口里面的类完成数据封装。
  3. 第三个参数:sql语句的参数值

例子同上,主要区别如下:

(3)JdbcTamplete操作数据库(查询返回集合,如查询图书列表分页)

调用JdbcTamplete中的query方法如下:

  1. 第一个参数:sql语句
  2. 第二个参数:RowMapper是接口,返回不同类型的数据,使用这个接口里面的类完成数据封装。
  3. 第三个参数:sql语句的参数值

例子同上,主要区别如下:

3.4 批量操作数据库

(1)JdbcTamplete操作数据库(批量添加操作)

  1. 批量操作:操作表里多条记录
  2. JdbcTamplete实现批量添加操作

调用JdbcTamplete的batchUpdate方法:

第一个参数:sql 语句

第二个参数:List集合,添加多条记录的参数数据

例子同上,主要区别如下:

(2)JdbcTamplete操作数据库(批量修改和删除操作)

调用JdbcTamplete的batchUpdate方法:

第一个参数:sql 语句

第二个参数:List集合,添加多条记录的参数数据

例子同上,主要区别如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值