-
1
加载驱动:- mysql数据库
Class.forName("com:mysql:jdbc:Driver");
- sqlserver数据库
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
- Oracle数据库
- mysql数据库
Class.forName("oracle.jdbc.driver.OracleDriver");
-
2 建立连接
- [ mysql]
url="jdbc:mysql://localhost:3306/数据库名
- [sqlserver ]
url="jdbc:sqlserver://localhost:1433;databaseName="数据库名";
- [ oracle]
- [ mysql]
url="jdbc:oracle:thin:@localhost:1521:数据库名称"
-
Connection的一些方法
createStatement():创建一个Statement对象
prepareStatement(String sql):创建PrepareStatement对象 -
3执行数据库操作
-
Statement接口
execute(String sql) :boolean 执行sql语句
executeQuery(String sql):ResultSet 执行sql语句,并返回ResultSet对象 -
PrepareStatement接口
setXXX()方法对sql语句中的?赋值
两者的区别在于PrepareStatement能接收?传值 -
4ResultSet接口
getXXX(int columnIndex):得到数据库中对应columnIndex列的的值
一个示例代码
public User findUser(String username,String password){
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/xscj","root","123456");
PreparedStatement pst = conn.prepareStatement("select * from user where username=? and password=?");
pst.setString(1, username);
pst.setString(2, password);
ResultSet rs = pst.executeQuery();
User user =new User();
if (rs.next()) {
user.setId(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
}
return user;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
try {
conn.close();
}catch(Exception e){
}
}
}