JDBC的概述
JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),是连接数据库和Java应用程序的纽带
要访问数据库,首先要加载数据库的驱动程序,然后每次访问数据库时创建一个Connection对象,接着执行操作数据库的SQL语句,最后再完成数据库操作后销毁前面创建的Connection对象,释放与数据库的连接
/**端口号
* sqlserver 1433
* mysql 3306
* oracle 1521
* 驱动
* mysql com.mysql.jdbc.Driver
* oracle oracle.jdbc.driver.OracleDriver
* sqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver
* @author Administrator
*/
public class Jdbc {
private static String username = "root";
private static String password = "root";
private static String url = "jdbc:mysql://localhost:3306/test";
private static String driver = "com.mysql.jdbc.Driver";
public static void selectAll(){
try {
//第一步加载驱动
Class.forName(driver);
//第二步通过DriverManager获取数据库的链接Connection
Connection con = DriverManager.getConnection(url, username, password);
//第三步从数据库连接 Connection 创建 Statement 或者 PreparedStatement
Statement st = con.createStatement();
//PreparedStatement ps = con.prepareStatement("select * from user");
//第四步创建 ResultSet 执行 executeUpdate/executeQuery
ResultSet rs = st.executeQuery("select *from user");
//4、使用PreparedStatement或者Statement执行sql 并返回结果集
/**
* DDL(数据定义语言) 主要用来操作数据的结构, CREATE、ALTER、DROP 表
* DML(数据操作语言) 主要用来操作数据,insert、delete、select、update
* DCL(数据控制语言) 主要用来操作数据库的权限
*
* execute()可执行任何SQL语句,但比较麻烦
* executeUpdate()主要用于执行增删改操作,返回受SQL语句影响的行数,执行DDL返回0.
* executeQuery()只能执行查询语句,执行后返回代表查询结果的ResultSet
*/
User user = null;
List<User> list = new ArrayList<User>();
while (rs.next()) {
user = new User();
user.setUserid(rs.getInt("userid"));
user.setName(rs.getString("name"));
user.setPassword(rs.getString("password"));
list.add(user);
}
for (User user2 : list) {
System.out.println(user2.getName());
}
//第五步关闭 Connection、Statement、ResultSet 接口
rs.close();
st.close();
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}