1:需要工具
(1)MySql 8.0
不清楚的可以通过phpstudy进行协助安装
https://www.xp.cn/download.html
**原本电脑内有mysql不同的版本的需要先将原本的mysql卸载,数据重要的记得先备份数据!!!
查看数据库密码
(2) Navicat
去网上下载最新版,破解的教程很容易就能搜索到。也可以看我转发的另外一个帖子,里面会提到。
下载安装好后点击 连接,然后选择 MySql,连接名随便写,用户名填写root,密码可以通过phpstudy查看(自己安装的一定记好密码)
然后右键自己新建的连接,选择新建数据库,填写数据库名字,然后字符集选择utf-8。
然后新建一个person3表,把id的设置为自增。(对应之前创建的Person类就行,如果是自己创建的数据库,表的逻辑能理清也可以自己弄)
2:增加依赖包
(在上一次依赖包的基础上增加而不是覆盖!!!)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.3.8</version>
</dependency>
3:用spring创建对象
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
<!-- 1.1.数据库驱动 -->
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<!-- 1.2.连接数据库的url -->
<property name="url" value="jdbc:mysql://localhost:3306/spring?characterEncoding=utf8&serverTimezone=UTC"/>
<!-- 1.3.连接数据库的用户名 -->
<property name="username" value="root"></property>
<!-- 1.4.连接数据库的密码 -->
<property name="password" value="root"></property>
</bean>
<bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
创建DriverManagerDataSource和JdbcTemplate对象
DriverManagerDataSource:是一种用于连接数据库的对象。
JdbcTemplate:关联了前者的父类的接口(回忆设计模式种的关联关系!),主要的作用是连接数据库,并对数据库进行基本的增删改查的操作。
*这里不能使用注解生成,因为使用注解生成的话需要修改依赖包内的源代码,可能会造成不便。
4:DAO文件
Dao是专门用于连接数据库的类
package com.spring;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@Component
public class PersonDao {
@Autowired
JdbcTemplate jdbcTemplate;
public void addPerson(String name,int age){
jdbcTemplate.update("INSERT INTO person3 values (null,?,?)",age,name);
}
}
5:更改主函数App
实例化Dao的对象,调用他的增加数据的方法。
PersonDao personDao = (PersonDao) applicationContext.getBean("personDao");
personDao.addPerson("test123",21);
执行一下该文件,就能用Navicat查看到数据库中已经多了这样的一个数据了。
6:一些可能遇到的错误
中间可能遇到一些问题,比如找不到personDao的问题遇到的人比较多。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jp30aXsk-1632801430094)(G:\图片\临时图片存储\javaEE_连接数据库_1.png)]
解决方法:检查自己有没有添加相应位置的注解,记得别忘了在xml中添加扫描语句(扫描详细见上一篇文章)
7:扩展
增删改的功能基本都一样,上面实现了增加的功能,基本上依葫芦画瓢就能实现了。
这里讲一些有些许不同的查询功能。
1:在DAO文件中创建方法
public List<Person> getList(String name){
RowMapper<Person> personRowMapper = new BeanPropertyRowMapper<>(Person.class);
List<Person> personList = jdbcTemplate.query("select * from person3 where name = ?",personRowMapper,name);
return personList;
}
导入list的术后选择 java.util.List;
2:在主函数App内加测试语句
List<Person> personList = personDao.getList("test123");
for(Person person:personList){
System.out.println(person.getName()+" "+person.getAge());
}