通过学习:http://www.cnblogs.com/smyhvae/p/4050825.html(原)
对于"db-config.properties" 右键点击pack(com.vae.db这个包,具体看你自己新建的包名)→新建→文件
//数据库链接地址
jdbc.url=jdbc:mysql://localhost:3306/new_schema+?serverTimezone=GMT%2B8 //
//数据库登录账户
jdbc.username=root
//数据库登录密码
jdbc.password=yulang123
//加载数据库驱动程序
jdbc.driver=com.mysql.cj.jdbc.Driver
对于ConclusionJDBC,它是一个是一个驱动类
package com.vae.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class ConclusionJDBC {
//数据库连接地址
public static String URL;
//用户名
public static String USERNAME;
//密码
public static String PASSWORD;
//mysql的驱动类
public static String DRIVER;
private static ResourceBundle rb = ResourceBundle.getBundle("com.vae.db.db-config");
//静态,加载一次
static{
URL = rb.getString("jdbc.url");
USERNAME = rb.getString("jdbc.username");
PASSWORD = rb.getString("jdbc.password");
DRIVER = rb.getString("jdbc.driver");
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//定义一个获取数据库连接的方法
public static Connection getMysqlJDBC(){
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("获取连接失败");
}
return conn;
}
//关闭
public static void closejdbc(ResultSet resultset,Statement statement,Connection connection) {
try {
if(resultset!=null) {
resultset.close();
}
if(statement!=null) {
statement.close();
}if(connection!=null) {
connection.close();
}
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
对于Person1,它是一个实体类
package com.vae.db;
public class Person1 {
private int exercis_id;
private String exercis_name;
private String exercis_address;
private String exercis_phone;
public int getExercis_id() {
return exercis_id;
}
public void setExercis_id(int exercis_id) {
this.exercis_id = exercis_id;
}
public String getExercis_name() {
return exercis_name;
}
public void setExercis_name(String exercis_name) {
this.exercis_name = exercis_name;
}
public String getExercis_address() {
return exercis_address;
}
public void setExercis_address(String exercis_address) {
this.exercis_address = exercis_address;
}
public String getExercis_phone() {
return exercis_phone;
}
public void setExercis_phone(String exercis_phone) {
this.exercis_phone = exercis_phone;
}
@Override
public String toString() {
return "Person1 [exercis_id=" + exercis_id + ", exercis_name=" + exercis_name + ", exercis_address="
+ exercis_address + ", exercis_phone=" + exercis_phone + "]";
}
}
对于Test,它是一个测试类
package com.vae.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Test {
private static Connection connection=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
//构造SQL语句(插入具体的数据)
Person1 person=new Person1();
connection=ConclusionJDBC.getMysqlJDBC();
person.setExercis_id(99);
person.setExercis_name("fuck");
person.setExercis_address("shut");
person.setExercis_phone("123456");
//insert(person);
//update(person);
//delete(person);
select(person);
}
//增
public static void insert(Person1 person) {
String sql = "insert into person (exercis_id,exercis_name,exercis_address) value(?,?,?)";
PreparedStatement preparedStatement=null;
try {
//构造一个statementment实例(用来发送SQL语句的载体)
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, person.getExercis_id());
preparedStatement.setString(2, person.getExercis_name());
preparedStatement.setString(3, person.getExercis_address());
System.out.println(preparedStatement+"error");
//5、执行SQL语句(其实是向数据库中发送sql语句)
int a=preparedStatement.executeUpdate();
//通过后台知道程序运行是否成功
System.out.println("运行成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("添加失败");
}finally{
//6、关闭连接(释放资源)
ConclusionJDBC.closejdbc(null, preparedStatement, connection);
}
}
//改
public static void update(Person1 person) {
String sql="update person set exercis_name=?,exercis_address=? where exercis_id=?";
PreparedStatement preparedStatement=null;
try {
//构造一个statementment实例(用来发送SQL语句的载体)
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, person.getExercis_name());
preparedStatement.setString(2, person.getExercis_address());
preparedStatement.setInt(3, person.getExercis_id());
//5、执行SQL语句(其实是向数据库中发送sql语句)
preparedStatement.executeUpdate();
//通过后台知道程序运行是否成功
System.out.println("运行成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
//6、关闭连接(释放资源)
ConclusionJDBC.closejdbc(null, preparedStatement, connection);
}
}
//删除
public static void delete(Person1 person) {
PreparedStatement preparedStatement=null;
try {
String sql="DELETE FROM person where exercis_id=?";
//构造一个statementment实例(用来发送SQL语句的载体)
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1,person.getExercis_id());
//5、执行SQL语句(其实是向数据库中发送sql语句)
System.out.println(preparedStatement);
int a=preparedStatement.executeUpdate();
//通过后台知道程序运行是否成功
System.out.println("运行成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
//6、关闭连接(释放资源)
ConclusionJDBC.closejdbc(null, preparedStatement, connection);
}
}
//查询
public static void select(Person1 person) {
String sql="select exercis_id,exercis_name,exercis_address from person where exercis_id=?";
//构造一个statementment实例(用来发送SQL语句的载体)
PreparedStatement preparedStatement=null;
ResultSet resultset=null;
List<Person1> personsz = new ArrayList<Person1>();
try {
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, person.getExercis_id());
//executeQuery,返回结果集
resultset=preparedStatement.executeQuery();
while(resultset.next()) {
//获取第一行一个信息
// int id=resultset.getInt(1);
// String name=resultset.getString(2);
// String add=resultset.getString(3);
// System.out.println("id="+id+",name="+name+",add="+add);
Person1 person2=new Person1();
person2.setExercis_id(resultset.getInt(1));
person2.setExercis_name(resultset.getString(2));
person2.setExercis_address(resultset.getString(3));
System.out.println(person2.toString());
personsz.add(person2);
}
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally{
//6、关闭连接(释放资源)
ConclusionJDBC.closejdbc(resultset, preparedStatement, connection);
}
}
}
。对于"生命壹号"这位博主分享学习资源表示敬意,而且是如此详细。