JAVA的JDBC学习总结
简介: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
1.下载对应数据库的jabc架包与驱动
1.mySQL:https://dev.mysql.com/downloads/connector/
2.Oracle:http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
3.SQL Server:https://www.microsoft.com/en-us/download/details.aspx?id=55539
2.在项目中引入架包
3.加载驱动连接数据库查询数据
以MySQL为例
//声明在try外面,方便进行关闭
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//其它数据库
/**
* oracle.jdbc.driver.OracleDriver sqlserver
* com.microsoft.sqlserver.jdbc.SQLServerDriver
*/
//2、获取数据库的连接Connection
String url = "jdbc:mysql://localhost:3306/demo";
String user = "main";//数据库用户名
String password = "main";//数据库密码
conn = DriverManager.getConnection(url, user, password);
//3、从数据库连接Connection
// Statement s= conn.createStatement();
ps = conn.prepareStatement("SELECT * from user");
//4、执行sql
//executeQuery() 用于查询,executeQuery() 用于新增,修改,删除
rs=ps.executeQuery();
//5.获取数据,数据下标从1开始
while (rs.next()) {
System.out.println(rs.getInt(1));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
//关闭连接
try {
if (conn!=null) {
conn.close();
}
if (ps!=null) {
ps.close();
}
if (rs!=null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
4.SQL语句声明参数赋值
在执行新增、修改、删除时,往往是用传值的方式进行执行的,在jdbc中也可以声明SQL参数。
//在sql语句中用‘?’占位
ps=conn.prepareStatement("insert into user(name,password) values(?,?)");
//传入参数 , 起始下标从 1开始
ps.setString(1,"name003");
ps.setString(2,"passs003");
//返回执行影响条数
int a =ps.executeUpdate();