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、测试


保存数据成功。

posted @   南翔技校毕业后  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示