通过JDBC连接数据库并用Java把数据写入数据库

目录

1.新建项目

2.在src包下新建lib包,用来存放jar包(下载对应jar包复制到lib包里)

3.右键导入的jar包,找到并单击"添加到库"(add....)

4.在src包下新建bean包,新建class类

5.class类中写数据库表中对应的列名的set get方法、空参、有参(String方法)注意:类名为私有类(private),新建类时数据类型要对应.

6.在src下新建数据库资源包jdbc,并写入数据库信息(用户数据库名,数据库密码,数据库地址,通过driver接口获取数据连接)

7.新建测试链接包(Connection),在包下新建class类(prepareStatementUpdate)包名意思为使用prepareStatement方法获取sql语句

8.新建@Test注释,"alt+enter"引入maven文件(引入后还报错是因为未写测试内容,正常现象)

9.新建类testInsert(以插入为例)

10.文章内容大概分为7部分,见图;

11.前1-3部分为连接数据库,其中会有报错见如图;

12.出现如图;表示连接数据库成功


1.新建项目
2.在src包下新建lib包,用来存放jar包(下载对应jar包复制到lib包里)
3.右键导入的jar包,找到并单击"添加到库"(add....)


4.在src包下新建bean包,新建class类
5.class类中写数据库表中对应的列名的set get方法、空参、有参(String方法)
注意:类名为私有类(private),新建类时数据类型要对应.


6.在src下新建数据库资源包jdbc,并写入数据库信息(用户数据库名,数据库密码,数据库地址,通过driver接口获取数据连接)


7.新建测试链接包(Connection),在包下新建class类(prepareStatementUpdate)包名意思为使用prepareStatement方法获取sql语句
8.新建@Test注释,"alt+enter"引入maven文件(引入后还报错是因为未写测试内容,正常现象)


9.新建类testInsert(以插入为例)
10.文章内容大概分为7部分,见图;


11.前1-3部分为连接数据库,其中会有报错见如图;


12.出现如图;表示连接数据库成功

src/Connection/prepareStatementUpdate.java:
package Connection;

import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Properties;

public class prepareStatementUpdate {
    @Test
    public void testInsert() throws IOException, ClassNotFoundException, SQLException, ParseException {//此处4个报错为针对性报错,可直接改为Exception(代表大范围内的报错都包括在内)
        //    public void testInsert() throws Exception{ }
        //1.读取数据库资源内的4个基本配置文件(链接数据库)
            //定义is 来获得jdbc.properties内(数据库资源包内)的数据
        InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
            //new一个Properties 简写pros  用来调用is里的数据
        Properties pros = new Properties();
        pros.load(is);
            //通过pros.getProperty来获取数据库的属性,完成链接
        String user = pros.getProperty("user");
        String password = pros.getProperty("password");
        String url = pros.getProperty("url");
        String driverclass = pros.getProperty("driverclass");

        //2.加载驱动
        Class.forName(driverclass);
        //3.获取链接
        //通过DriverManager获取数据库属性,付给定义变量conn
        Connection conn = DriverManager.getConnection(url, user, password);
            //输出conn得到数据库地址表示链接成功
        System.out.println(conn);

        //4.输入sql增删改查,返回实例
        String sql = "insert into Customers(name,email,brith) values(?,?,?)";
            //此处写"value 或values"都可以,区别为value执行时间久,values执行时间很短; values内的?为占位符,用来被sql数据填充,对应前边Customers内的列名
        PreparedStatement ps = conn.prepareStatement(sql);
            //用conn.出来sql赋给ps
        //5.填充占用符,执行sql语句
            //利用ps.set方法传入插入数据库的内容
            //括号内1,2,3代表第几个问号
        ps.setString(1, "邓紫棋");
        ps.setString(2, "[email protected]");
            //此处应写入日期,但数据库内日期和java里的date写法不同,所以要特殊定义date类型
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//此处括号内date写法应对应正则表达式形式
        java.util.Date date = sdf.parse("1991-08-16");         //此处Date必须使用java.sql类型
        ps.setDate(3, new java.sql.Date(date.getTime()));

        //6.连接到数据库(写入java中添加的数据信息)
        ps.execute();
        //7.关闭数据流
        ps.close();
        conn.close();

    }
}

jdbc.properties:

user = root
password = 123456
url = jdbc:mysql://localhost:3306/test
driverclass = com.mysql.cj.jdbc.Driver
#键值对不能加""和;

src/bean/Customers.java

package bean;

import java.sql.Date;

public class Customers {
    //定义私有类
        private int id;
        private String name;
        private String email;
        private Date brith ;
    //set get方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getBrith() {
        return brith;
    }

    public void setBrith(Date brith) {
        this.brith = brith;
    }
    //空参
    public void Customers(){

    }
    //有参
    public Customers(int id, String name, String email, Date brith) {
        this.id = id;
        this.name = name;
        this.email = email;
        this.brith = brith;
    }
    //toString方法
        /*
        @Override
            public String toString() {
                return "Customers{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", email='" + email + '\'' +
                    ", brith=" + brith +
                    '}';
               }
     */
}

猜你喜欢

转载自blog.csdn.net/m0_74135466/article/details/127706792