persistence-demo之jdbc
0、前言
目的:旨在记录jdbc操作数据库
项目结构:
1、导入pom文件
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
2、编写db.properties文件
文件目录是:src/main/resources
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://10.10.50.160:3306/test?characterEncoding=UTF-8
user=root
password=abc123456#
3、编写连接数据库的工具类
package cn.itcast.jdbc.util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
/**
* @author jiangl
* @ClassName JdbcUtil.java
* @Description 获取到db.properties的数据库信息
* @createTime 2022年06月07日 09:14
*/
public class JdbcUtil
{
//私有变量
private static String driver;
private static String url;
private static String user;
private static String password;
//静态块
static {
try {
//1.新建属性集对象
Properties properties = new Properties();
//2通过反射,新建字符输入流,读取db.properties文件
InputStream input = JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties");
//3.将输入流中读取到的属性,加载到properties属性集对象中
properties.load(input);
//4.根据键,获取properties中对应的值
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
}
catch (Exception e) {
e.printStackTrace();
}
}
//返回数据库连接
public static Connection getConnection()
{
try {
//注册数据库的驱动
Class.forName(driver);
//获取数据库连接(里面内容依次是:主机名和端口、用户名、密码)
Connection connection = DriverManager.getConnection(url, user, password);
//返回数据库连接
return connection;
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
4、编写测试类
package cn.itcast.jdbc;
import cn.itcast.jdbc.util.JdbcUtil;
import org.junit.Test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
* @author jiangl
* @ClassName JdbcTest.java
* @Description
* @createTime 2022年06月07日 09:16
*/
public class JdbcTest
{
@Test
public void JdbcTest() throws Exception
{
//获取数据库连接
Connection connection = JdbcUtil.getConnection();
//执行的sql语句
String sql = "insert into t_book(bname,author,price) values(?,?,?)";
//获取预处理对象,并给参数赋值
PreparedStatement statement = connection.prepareCall(sql);
statement.setString(1, "c++从入门到精通");
statement.setString(2, "传智播客");
statement.setDouble(3, 16);
//执行sql语句(插入了几条记录,就返回几)
int i = statement.executeUpdate(); //executeUpdate:执行并更新
System.out.println(i);
//关闭jdbc连接
statement.close();
connection.close();
}
}
5、测试
保存数据成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结