一、JDBC
1、JDBC(JAVA数据库连接技术)能实现JAVA语言对数据库的访问及各种操作
2、JDBC API 使用JDBC访问数据库就要用JDBC API完成3件事: 与数据库链接,返送sql语句 和 处理结果。
工作的4个重要环节:
(1).DriverManager类:依据数据库的不同,管理JDBC驱动;
(2).Connection接口:负责链接数据库并担任传送数据的任务。
(3).Statement接口:由Connection产生,负责执行SQL语句。
(4).ResultSet接口:负责保存Statement执行后所参数的查询结果
3、JDBC访问数据库的步骤
(1).class…forName(“jdbc:mysql://localhost:3306/students”);//加载驱动
(2).Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名”,“用户名”,“用户密码”);//连接数据库
(3).Statement stmt=conn.createStatement();//创建Statement对象
String sql=“sql语句”;
ResultSet rs= Stmt.executeQuery(sql);//执行sql语句
(4).while(rs.next()){int id=rs.getInt(1);
Timestamp time=rs.getTimestamp(“createdate”);}//循环读取结果集
4、资源的释放
conn.close();
rs.close();
st.close();
代码操作:
publc class DataBase{
public static void (String [] args){
connection conn = null;
statement st = null;
resultset rs = nll;
try{
//加载驱动
class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/test";
String username = "root";
String password = "123";
conn = DriverManager.getConnection(url,username,password);
st = conn.createStatement();
//查询数据并打印
rs = stmt.executeQuery("select * from test");
while(rs.next()) {
//next()方法控制行数,一行一行读出返回结果集,直到null
int id = rs.getInt("id");//获取id这一列的数据
String name = rs.getString(2);//获取第二列数据
String sex = rs.getString("sex");
int age = rs.getInt("age");
System.out.println("编号="+id+",姓名="+name+",性别="+sex+",年龄="+age);
}
//添加一行数据
//使用SQL语句:INSERT INTO `students`.`students_1` (`id`, `name`, `sex`, `age`) VALUES ('1','小七', '女', '10'); 添加数据
/*String sql1 = "INSERT INTO `students`.`students_1` (`id`,`name`, `sex`, `age`) VALUES ('1','小七', '女', '10');";
int result1 = stmt.executeUpdate(sql1);
//修改一个数据
//使用SQL语句:UPDATE `students`.`students_1` SET `name` = '康纳' WHERE `age` = 12 AND `sex` = '男':修改age=12和sex=男的数据的name为康纳
String sql2 = "UPDATE `students`.`students_1` SET `name` = '康纳' WHERE `id`= '4' AND `age` = '12' AND `sex` = '男'; ";
int result2 = stmt.executeUpdate(sql2);
//删除一行数据
//使用SQL语句:DELETE FROM `students`.`students_1` WHERE `id` = '5' ; 删除id=5的一行
/*String sql3 = "DELETE FROM `students`.`students_1` WHERE `id` = '8' ; ";
int result3 = stmt.executeUpdate(sql3);*/
} catch(SQLException){
e.printStackTrace();
}finally{
//依次关闭数据库接口
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
if(stmt!=null