目錄
1.新建項(xiàng)目
2.在src包下新建lib包,用來(lái)存放jar包(下載對(duì)應(yīng)jar包復(fù)制到lib包里)
3.右鍵導(dǎo)入的jar包,找到并單擊"添加到庫(kù)"(add....)
4.在src包下新建bean包,新建class類(lèi)
5.class類(lèi)中寫(xiě)數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的列名的set get方法、空參、有參(String方法)注意:類(lèi)名為私有類(lèi)(private),新建類(lèi)時(shí)數(shù)據(jù)類(lèi)型要對(duì)應(yīng).
6.在src下新建數(shù)據(jù)庫(kù)資源包jdbc,并寫(xiě)入數(shù)據(jù)庫(kù)信息(用戶(hù)數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)密碼,數(shù)據(jù)庫(kù)地址,通過(guò)driver接口獲取數(shù)據(jù)連接)
7.新建測(cè)試鏈接包(Connection),在包下新建class類(lèi)(prepareStatementUpdate)包名意思為使用prepareStatement方法獲取sql語(yǔ)句
8.新建@Test注釋,"alt+enter"引入maven文件(引入后還報(bào)錯(cuò)是因?yàn)槲磳?xiě)測(cè)試內(nèi)容,正?,F(xiàn)象)
9.新建類(lèi)testInsert(以插入為例)
10.文章內(nèi)容大概分為7部分,見(jiàn)圖;
11.前1-3部分為連接數(shù)據(jù)庫(kù),其中會(huì)有報(bào)錯(cuò)見(jiàn)如圖;
12.出現(xiàn)如圖;表示連接數(shù)據(jù)庫(kù)成功
1.新建項(xiàng)目 2.在src包下新建lib包,用來(lái)存放jar包(下載對(duì)應(yīng)jar包復(fù)制到lib包里) 3.右鍵導(dǎo)入的jar包,找到并單擊"添加到庫(kù)"(add....)
?
4.在src包下新建bean包,新建class類(lèi) 5.class類(lèi)中寫(xiě)數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的列名的set get方法、空參、有參(String方法) 注意:類(lèi)名為私有類(lèi)(private),新建類(lèi)時(shí)數(shù)據(jù)類(lèi)型要對(duì)應(yīng).
?
6.在src下新建數(shù)據(jù)庫(kù)資源包jdbc,并寫(xiě)入數(shù)據(jù)庫(kù)信息(用戶(hù)數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)密碼,數(shù)據(jù)庫(kù)地址,通過(guò)driver接口獲取數(shù)據(jù)連接)
?
?
7.新建測(cè)試鏈接包(Connection),在包下新建class類(lèi)(prepareStatementUpdate)包名意思為使用prepareStatement方法獲取sql語(yǔ)句 8.新建@Test注釋,"alt+enter"引入maven文件(引入后還報(bào)錯(cuò)是因?yàn)槲磳?xiě)測(cè)試內(nèi)容,正?,F(xiàn)象)
?
9.新建類(lèi)testInsert(以插入為例) 10.文章內(nèi)容大概分為7部分,見(jiàn)圖;
?
11.前1-3部分為連接數(shù)據(jù)庫(kù),其中會(huì)有報(bào)錯(cuò)見(jiàn)如圖;
?
?
?
12.出現(xiàn)如圖;表示連接數(shù)據(jù)庫(kù)成功
?
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個(gè)報(bào)錯(cuò)為針對(duì)性報(bào)錯(cuò),可直接改為Exception(代表大范圍內(nèi)的報(bào)錯(cuò)都包括在內(nèi))
// public void testInsert() throws Exception{ }
//1.讀取數(shù)據(jù)庫(kù)資源內(nèi)的4個(gè)基本配置文件(鏈接數(shù)據(jù)庫(kù))
//定義is 來(lái)獲得jdbc.properties內(nèi)(數(shù)據(jù)庫(kù)資源包內(nèi))的數(shù)據(jù)
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
//new一個(gè)Properties 簡(jiǎn)寫(xiě)pros 用來(lái)調(diào)用is里的數(shù)據(jù)
Properties pros = new Properties();
pros.load(is);
//通過(guò)pros.getProperty來(lái)獲取數(shù)據(jù)庫(kù)的屬性,完成鏈接
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverclass = pros.getProperty("driverclass");
//2.加載驅(qū)動(dòng)
Class.forName(driverclass);
//3.獲取鏈接
//通過(guò)DriverManager獲取數(shù)據(jù)庫(kù)屬性,付給定義變量conn
Connection conn = DriverManager.getConnection(url, user, password);
//輸出conn得到數(shù)據(jù)庫(kù)地址表示鏈接成功
System.out.println(conn);
//4.輸入sql增刪改查,返回實(shí)例
String sql = "insert into Customers(name,email,brith) values(?,?,?)";
//此處寫(xiě)"value 或values"都可以,區(qū)別為value執(zhí)行時(shí)間久,values執(zhí)行時(shí)間很短; values內(nèi)的?為占位符,用來(lái)被sql數(shù)據(jù)填充,對(duì)應(yīng)前邊Customers內(nèi)的列名
PreparedStatement ps = conn.prepareStatement(sql);
//用conn.出來(lái)sql賦給ps
//5.填充占用符,執(zhí)行sql語(yǔ)句
//利用ps.set方法傳入插入數(shù)據(jù)庫(kù)的內(nèi)容
//括號(hào)內(nèi)1,2,3代表第幾個(gè)問(wèn)號(hào)
ps.setString(1, "鄧紫棋");
ps.setString(2, "123456789@outlook.com");
//此處應(yīng)寫(xiě)入日期,但數(shù)據(jù)庫(kù)內(nèi)日期和java里的date寫(xiě)法不同,所以要特殊定義date類(lèi)型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//此處括號(hào)內(nèi)date寫(xiě)法應(yīng)對(duì)應(yīng)正則表達(dá)式形式
java.util.Date date = sdf.parse("1991-08-16"); //此處Date必須使用java.sql類(lèi)型
ps.setDate(3, new java.sql.Date(date.getTime()));
//6.連接到數(shù)據(jù)庫(kù)(寫(xiě)入java中添加的數(shù)據(jù)信息)
ps.execute();
//7.關(guān)閉數(shù)據(jù)流
ps.close();
conn.close();
}
}
jdbc.properties:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-431371.html
user = root
password = 123456
url = jdbc:mysql://localhost:3306/test
driverclass = com.mysql.cj.jdbc.Driver
#鍵值對(duì)不能加""和;
src/bean/Customers.java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-431371.html
package bean;
import java.sql.Date;
public class Customers {
//定義私有類(lèi)
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 +
'}';
}
*/
}
到了這里,關(guān)于通過(guò)JDBC連接數(shù)據(jù)庫(kù)并用Java把數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!