需要与声明类型的数据库链接,首先需要加载该类型驱动,在加载前需要下载该类数据库的驱动。
比如加载MySQL的驱动:
Class.forName("com.mysql.jdbc.Driver")
加载完驱动与数据库进行连接需要调用DriverManager类的静态方法getConnection(String url, String user, String password) ,其中url格式为:”jdbc:mysql://[远程ip地址]:[数据库端口]/{数据库名]“。
然后通过得到的实例Connection实例调用createStatement() 方法获取用来执行sql语句的Statement类对象。
也可通过调用prepareStatement()方法获得PreparedStatement对象。
与Statement不同的是:在创建PreparedStatement对象时就可传入sql语句,在需要执行该语句时直接调用execute...方法即可。
用Statement类对象可以调用方法实现增删改查等数据库操作。
Statement:
executeUpdate(String sql) 为改数据库
executeQuery(String sql) 为查数据库
PreparedStatement:
executeUpdate() 为改数据库
如:
pstmt = con.prepareStatement("insert into student1 values (?,?,?,?)");
pstmt.setString(1, s.getNo());
pstmt.setString(2, s.getName());
pstmt.setString(3, s.getSex());
pstmt.setString(4, s.getDept());
int i=pstmt.executeUpdate();
executeQuery( )为查数据库
如:
pstmt = con.prepareStatement("select * from student1");
rs = pstmt.executeQuery();
while (rs.next()) {
Student s = new Student();
s.setNo(rs.getString("SNO"));
s.setName(rs.getString("SNAME"));
s.setSex(rs.getString("SSEX"));
s.setDept(rs.getString("SDEPT"));
list.add(s);
}
其中executeQuery方法会返回一个结果集对象ResultSet。
可通过该对象调用next方法一列列地获取数据表数据。
如:
while(rs.next()){
//获取stuname这列数据
job = rs.getInt("number");
//获取stuid这列数据
id = rs.getString("name");
sex = rs.getString("sex");
//输出结果
System.out.println(id + "\t" + job+"\t"+sex);
}