练习1:从控制台向数据库的表customers中插入一条数据,表结构如下。
在项目的src路径下新建一个文件,命名为jdbc.properties
user=root
password=124869
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
driverClass=com.mysql.jdbc.Driver
新建一个java.util包,用于存放数据库所需要的工具类,将JDBC所需要的数据库连接和数据库资源关闭存放在JDBCUtil当中。
package com.test.uitl;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
import org.junit.Test;
import java.sql.Connection;
//数据库的工具库
public class JDBCUitl {
@Test
public void test() {
try {
JDBCUitl.getConnection();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
//数据库连接
public static Connection getConnection() throws Exception {
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");//注:使用系统加载器ClassLoader.getSystemClassLoader()
Properties prop = new Properties();
prop.load(is);
String user = prop.getProperty("user");
String url = prop.getProperty("url");
String password = prop.getProperty("password");
String driverClass = prop.getProperty("driverClass");
Class.forName(driverClass);
Connection conn = DriverManager.getConnection(url,user,password);
return conn;
}
//资源关闭
public static void closeResource(Connection conn,PreparedStatement ps) {
try {
if(conn !=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(ps !=null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
对数据进行操作
package preparedStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Scanner;
import org.junit.Test;
import com.test.uitl.JDBCUitl;
public class preparedStatementTest {
@Test
public void testUpdateTest() {
Scanner sc = new Scanner(System.in);
System.out.print("输入用户名:");
String name = sc.next();
System.out.print("输入邮箱:");
String email = sc.next()