jibc链接数据库,共分为以下七步:
1.加载驱动:
Class.forname(" com.mysql.jdbc.Driver")//里面的字符串是固定的
2.创建链接:
Connection connection=DriverManager.getConnection
(“jdbc:mysql://127.0.0.1:3306/student?useSSL=true&characterEncoding=utf8&user=root&password=305139”);
//字符串中的student为数据库的名称,user的名称为root,数据库的个人密码为305139,字符串中的其他部分为固定部分。
3.写sql语句
4.获得statement对象:
PreparedStatement statement=connection.prepareStatement(sql);
5.执行sql语句,得到结果:
ResultSet resultSet=statement.executeQuery();
6.对结果进行处理:
7.关闭数据库的链接
在本次实现数据库的增删查改中,采用DButil封装第一步加载驱动,第二步创建链接和第七步关闭数据库链接的过程,将类中得到链接的方法和关闭链接的方法定义为静态的方法,在DbDao的数据库操作类的相关方法中使用DButil类直接调用得到链接的方法,将返回值赋予方法中的Connection对象,获得链接。
在数据库的查询方法中
采用数据库表的对应类,将得到的数据库表中的每一行的信息构造数据库表类的对象,将其对象加入到list表单中,每一行都加入结束后,使用list.tostring()方法,输出表单。
while(resultSet.next())
{
int number=resultSet.getInt(1);
String name=resultSet.getString(2);
int age=resultSet.getInt(3);
String sex=resultSet.getString(4);
Student studet=new Student(number,name,age,sex);
list.add(studet);
}
System.out.print(list.toString());
String name,sex;
int number,age;
Scanner in=new Scanner(System.in);
connection=DButil.DtataConnectiong();
String sql="insert into stu_message values(?,?,?,?)";
statement=connection.prepareStatement(sql);
System.out.println("\n学号:");
number=in.nextInt();
System.out.println("姓名:");
name=in.next();
System.out.println("年龄:");
age=in.nextInt();
System.out.println("性别:");
sex=in.next();
statement.setInt(1,number);
statement.setString(2,name);
statement.setInt(3,age);
statement.setString(4,sex);
int i=statement.executeUpdate();
Scanner in=new Scanner(System.in);
int number,age;
System.out.println("-----------修改某个学生的年龄------------");
List list=new ArrayList<>();
Connection connection=null;
PreparedStatement statement=null;
ResultSet resultSet=null;
try {
connection=DButil.DtataConnectiong();
String sql="UPDATE stu_message SET Sage=? where Snumber=?";
System.out.println("请输入要修改年龄的学生的学号:");
number=in.nextInt();
System.out.println("请输入修改后的年龄:");
age=in.nextInt();
statement=connection.prepareStatement(sql);
statement.setInt(1,age);
statement.setInt(2,number);
int i=statement.executeUpdate();
if(i==1)
System.out.println("修改成功");
int number;
Scanner in=new Scanner(System.in);
connection=DButil.DtataConnectiong();
String sql="delete from stu_message where Snumber=?";
System.out.println("请输入想要删除的学生的学号:");
number=in.nextInt();
statement=connection.prepareStatement(sql);
statement.setInt(1,number);
int i=statement.executeUpdate();
if(i==1)
System.out.println("删除成功");