首先要完成创建数据库的操作
mysql建库
CREATE DATABASE vehicle;
结果如下
建好vehicle库之后建表
CREATE TABLE car(
id INT PRIMARY KEY AUTO_INCREMENT,
brand VARCHAR(32) NOT NULL,
model_number VARCHAR(64)NOT NULL,
speed VARCHAR(32)NOT NULL);
结果如下
在向car表添加数据
INSERT INTO car(brand,model_number,speed) VALUES('劳斯莱斯', '四个轮子','300km/h');
INSERT INTO car(brand,model_number,speed) VALUES('宝马', '四个轮子','120km/h');
INSERT INTO car(brand,model_number,speed) VALUES('奥迪', '四个轮子','130km/h');
INSERT INTO car(brand,model_number,speed) VALUES(法拉利', '四个轮子','300km/h');
INSERT INTO car(brand,model_number,speed) VALUES('兰博基尼', '四个轮子','300km/h');
结果如下
到这一步关于数据库的工作就准备好了,接下来需要在java中新建一个Car类
public class Car { //属性,属性要与数据库字段名对应
private int id;
private String brand;
private String modelNumber;
private String speed;
public int getId() { //获取id值
return id;
}
public void setId(int id) { //还给id一个值
this.id = id;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModelNumber() {
return modelNumber;
}
public void setModelNumber(String modelNumber) {
this.modelNumber = modelNumber;
}
public String getSpeed() {
return speed;
}
public void setSpeed(String speed) {
this.speed = speed;
}
@Override
//方法 作用:输出时按照下列形式显示数据
public String toString() {
return "Car [id=" + id + ", brand=" + brand + ", modelNumber=" + modelNumber + ", speed=" + speed + "]";
}
//默认无参数构造
public Car() {
super();
// TODO Auto-generated constructor stub
}
//有参数构造方法
public Car(int id, String brand, String modelNumber, String speed) {
super();
this.id = id;
this.brand = brand;
this.modelNumber = modelNumber;
this.speed = speed;
}
}
类的定义也做完了,下面要利用JDBC来把mysql和java连接一起
首先我们写个测试类
第一步 加载驱动(就是在项目中引入jar包[由数据库厂商给的驱动程序包])
Class.forName("com.mysql.jdbc.Driver");//加载mysql驱动程序
第二步 使用DriverManager建立程序与数据库的连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vehicle", "root", "root");//使用DriverManager建立程序与数据库的连接
第三步 准备sql语句
String sql = "Select * from car"; //也就是数据库里的语句
第四步 使用PreparedStatement访问数据库
PreparedStatement st= conn.prepareStatement(sql);
第五步 使用ResultSet接收访问数据库的反馈结果
ResultSet rs = st.executeQuery();
第六步 对结果进行输出或展示或存储到集合中
ArrayList<Car> carArray = new ArrayList<Car>(); //声明一个集合
while(rs.next()){ //判断是否有下一个值
Car car = new Car(); //实例化对象car
car.setId(rs.getInt("id")); //将从数据库反馈的结果获取id字段的一个值给car中的id,以下同理
car.setBrand(rs.getString("brand"));
car.setModelNumber(rs.getString("model_number"));
car.setSpeed(rs.getString("speed"));
carArray.add(car); //将car里的数据放在carArray集合中
}
for (Car car : carArray) { //foreach遍历查看集合
System.out.println(car.toString());
}
运行结果如下
现在就完成了数据库与java交互的操作,可以对比查看数据库内数据是否与java中展示一样