通过JDBC进行简单的增删改查(二)

时间:2022-06-17 12:17:44

本章笔记更易理解和学习,也是我第一次初学的笔记。

 package javastudy;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement; public class TextJDBC { public static void main(String[] args) {
// TODO Auto-generated method stub
/**数据库的增删改查
* 方法:连接到已有的数据库,通过sql命令进行操作
* 具体步骤:
* 1.添加mysql的jar包到程序中,具体操作见上章随笔
* 2,加载驱动程序Class。forname();
* 3.连接到数据库
* 4.进行sql命令操作。
* */
Connection conn = null;
Statement st = null;
String sql;
PreparedStatement ps;
try {
//加载驱动程序,虚拟机(jvm);
Class.forName("com.mysql.jdbc.Driver");
//连接到数据库
String url="jdbc:mysql://localhost:3306/student";
String user="root";
String password="12345678";
conn=DriverManager.getConnection(url, user, password);
st=conn.createStatement();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("加载数据库失败!");
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("数据库连接失败!");
e.printStackTrace();
}
/* //增加数据
sql="insert into studentinfo values ('07','jine','女','18')";
//修改数据
sql="update studentinfo set name='鲍勃' where no='03'";
//删除数据
sql="delete from studentinfo where no='07' ";
try {
st.executeUpdate(sql);
} catch (SQLException e1) {
// TODO Auto-generated catch block
System.out.println("添加数据失败!!");
e1.printStackTrace();
}
*/
//第二种加载数据的方法:通过PreparedStatement,把values的值先做未知处理,然后进行赋值
try {
sql="delete from studentinfo where no='03' ";
st.executeUpdate(sql);
//61.62两段是为了下面语句的执行进行的操作,与第二种增加数据的方法无关。
sql="insert into studentinfo values (?,?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1, "03");
ps.setString(2, "Bob");
ps.setString(3, "男");
ps.setInt(4, 20);
//进行数据库的更新加载,然后显示。
ps.executeUpdate();
} catch (SQLException e1) {
// TODO Auto-generated catch block
System.out.println("添加数据失败!!");
e1.printStackTrace();
}
//查询数据
try {
//有返回值操作
ResultSet rs=st.executeQuery("select * from studentinfo");
//管理数据库的表头,即输出列表头;
ResultSetMetaData rsm= rs.getMetaData();
for(int i =1;i<=rsm.getColumnCount();i++)
{
System.out.print(rsm.getColumnName(i)+"\t");
}
System.out.println();
while(rs.next())
{
for(int i =1; i<=4;i++)
{
System.out.print(rs.getString(i)+"\t");
}
System.out.println();
} } catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("查找失败!");
e.printStackTrace();
} } }