综合开发
java连接数据库,并且访问数据库的过程。
java连接数据库代码部分需要进行六步操作,分别是:
加载驱动、连接数据库、创建执行sql语句的类Statement、执行sql语句、获取结果、关闭数据库
mysql数据库连接的代码:
public class Demo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost/student?useSSL=FALSE&serverTimezone=UTC";
String user = "root";
String password = "password";
String driver = "com.mysql.cj.jdbc.Driver";
try {
//1.加载驱动
Class.forName(driver);
//2.链接数据库
Connection connection = DriverManager.getConnection(url,user,password);
//3.创建执行sql语句的类statement
Statement statement = connection.createStatement();
//4.执行sql语句
ResultSet resultSet = statement.executeQuery("select * from student1");
//5.获取结果
while(resultSet.next()){
System.out.println(" name: "+resultSet.getString(1)+" age: "+resultSet.getString(2)+" addr: "+resultSet.getString(3));
}
//6.关闭数据库
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
}
}
由于statement执行的是固定的语句,所以使用下面几句语句可以实现参数可变的sql语句:
PreparedStatement preparedStatement = connection.prepareStatement("update student1 set StuName = ? where stuID = ?");
preparedStatement.setString(1,"小丹");
preparedStatement.setString(2,"1006");
preparedStatement.execute();
PreparedStatement是 Statement的子接口,所以executeQuery等方法都可以在子接口中使用。
prepareStatement(“update student1 set StuName = ? where stuID = ?”)
sql语句,需要变化的地方我们使用?作为占位符,用来表示这里参数可变。在调用setString()方法用来设置参数,该方法有两个参数,第一个表示的是第几个占位符,第二个表示的是需要设置的参数。