JDBC连接MySQL数据库的流程
第一步:引入依赖
在springboot中不用导入jar包,在pom中引入依赖即可自动配置,如下图所示,引入了jdbc依赖和
数据库驱动的依赖。
补充IDEA导入jar包的方式:
1.鼠标点击file,选择Project Structure
2.点击Modules,然后打开Dependencies
3.在右边有个绿色的小加号,选择JARs or directories选择你要添加的外部jar包
第二步:配置引入
在配置方面,使用springboot的自动配置功能配置数据源,如下所示:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/csdn_spring_boot?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=
第三步:测试连接是否成功
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {
@Autowired
private DataSource dataSource;
@Test
public void datasourceTest() throws SQLException {
/*第一步,获取到连接*/
Connection connection = dataSource.getConnection();
System.out.println(connection != null);
System.out.println(dataSource.getClass());
/*关闭连接*/
connection.close();
}
}
控制台的结果:可以看到数据源获取成功,说明默认使用的是Hikari连接池**(SpringBoot2.0之前使用的是tomcat连接池)*
第四步:对数据库进行操作
对数据库进行操作(分为 PreparedStatement 和 Statement ,其中Statement中可能出现漏洞,不建议使用,但这里先展示Statement)
1.Statement源码
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {
@Autowired
private DataSource dataSource;
@Test
public void datasourceTest() throws SQLException {
/*第一步,获取到连接*/
Connection connection = dataSource.getConnection();
System.out.println(connection != null);
System.out.println(dataSource.getClass());
/*使用statement类来操作数据库*/
Statement stmt = connection.createStatement();
//增加数据 (运行时只要输出有结果即为成功,可能运行成功结果输出的是false)
String insertSql = "insert into tb_user(name,password) values('张三',123456)";
boolean bol = stmt.execute(insertSql );
System.out.println(bol);
//删除数据
String deleteSql = "delete from tb_user where name = '李四'";
boolean bol1 = stmt.execute(deleteSql);
System.out.println(bol1);
//修改数据
String updateSql = "update tb_user set id =1002, name = '张三',password = '123456' where name = '嫣然一笑'";
boolean bol2 = stmt.execute( updateSql);
System.out.println(bol2);
//查询数据,使用resultSet结果集来接收数据。
String querySql = "select * from tb_user";
ResultSet rs = stmt.executeQuery(querySql);
while(rs.next()){
String name = rs.getString("name");
System.out.println(name);
String password = rs.getString("password");
System.out.println(password);
System.out.println(name + "," + password);
}
/*关闭连接*/
rs.close();
stmt.close();
connection.close();
}
}