对数据库执行增、删、改、查需要遵循以下步骤:
1、导入所需要的数据库jar包----数据库厂商提供
1-1、直接把jar包放到项目中
1-2、外链
2、加载驱动
Class.forName(驱动的路径);
3、使用驱动管理对象获取数据库连接对象
URL:jdbc:mysql://ip:端口号/数据库名?时区(serverTimezone=Asia/Shanghai)
User:root
password:密码
索引:加快查询的效率,增加表的大小。查询较多的条件列适合添加索引。
4、定义sql语句
insert into 表名(字段1,字段2,字段3,字段4...) values(?,?,?,?...)//增
delete from 表名 where 字段=?//删
update 表名 set 字段1=?,字段2=? ...where 字段=?//改
select * from 表名//查
5、创建执行sql语句的工具
增、删、改时用:PreparedStatement
PreparedStatement:接口,预编译的sql语句
查时用:Statement
Statement:接口,发送sql语句到数据库
6、执行sql语句
7、处理结果
8、释放资源
代码示例:
增
package com.jdbcliajie;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestZeng {
public static void main(String[] args) {
String url="jdbc:mysql://localhost:3306/lianxi?serverTimezone=Asia/Shanghai";
String user="root";
String password="123456";
try {
Connection conn=DriverManager.getConnection(url, user, password);
String str="insert into student(sname,ssex,class,biryear) values(?,?,?,?)";
PreparedStatement ps=conn.prepareStatement(str);
ps.setString(1, "张");
ps.setString(2, "男");
ps.setString(3,"1234");
ps.setInt(4, 2000);
int i=ps.executeUpdate();
System.out.println(i);
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
删
package com.jdbcliajie;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestShan {
public static void main(String[] args) {
String url="jdbc:mysql://localhost:3306/lianxi?serverTimezone=Asia/Shanghai";
String user="root";
String password="123456";
try {
Connection conn=DriverManager.getConnection(url, user, password);
String str="delete from student where sid=?";
PreparedStatement ps=conn.prepareStatement(str);
ps.setInt(1, 22);
int i=ps.executeUpdate();
System.out.println(i);
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
改
package com.jdbcliajie;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestGai {
public static void main(String[] args) {
String url="jdbc:mysql://localhost:3306/lianxi?serverTimezone=Asia/Shanghai";
String user="root";
String password="123456";
try {
Connection conn=DriverManager.getConnection(url, user, password);
String str="update student set sid=?,ssex=? where class=?";
PreparedStatement ps=conn.prepareStatement(str);
ps.setInt(1, 6);
ps.setString(2, "女");
ps.setString(3, "521");
int i=ps.executeUpdate();
System.out.println(i);
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
查
package com.jdbcliajie;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestCha {
public static void main(String[] args) {
String url="jdbc:mysql://localhost:3306/lianxi?serverTimezone=Asia/Shanghai";
String user="root";
String password="123456";
try {
Connection conn=DriverManager.getConnection(url, user, password);
String str="select * from student";
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery(str);
while(rs.next()){
int sid=rs.getInt(1);
String sname=rs.getString(2);
String ssex=rs.getString(3);
String sclass=rs.getString(4);
int year=rs.getInt(5);
System.out.println(sid+"\t"+sname+"\t"+ssex+"\t"+sclass+"\t"+year);
}
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}