JDBC

JDBC:

1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库

JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个

数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,

真正执行的代码是驱动jar包中的实现类。

2. 快速入门:

 步骤:

1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar

1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下

2.右键-->Add As Library

2. 注册驱动

3. 获取数据库连接对象 Connection

4. 定义sql

5. 获取执行sql语句的对象 Statement

6. 执行sql,接受返回结果

7. 处理结果

8. 释放资源

3. 详解各个对象:

1.  DriverManager:驱动管理对象

2. Connection:数据库连接对象

3. Connection:数据库连接对象

4. ResultSet:结果集对象,封装查询结果

5. PreparedStatement:执行sql的对象

抽取JDBC工具类 : JDBCUtils

练习:

需求:

 

1. 通过键盘录入用户名和密码

2. 判断用户是否登录成功

 select * from user where username = "" and password = "";

 如果这个sql有查询结果,则成功,反之,则失败

 步骤:

1. 创建数据库表 user

CREATE TABLE USER(

id INT PRIMARY KEY AUTO_INCREMENT,

username VARCHAR(32),

PASSWORD VARCHAR(32)

);

 

INSERT INTO USER VALUES(NULL,'zhangsan','123');

INSERT INTO USER VALUES(NULL,'lisi','234');

2. 代码实现:
public class JDBCDemo9 {

public static void main(String[] args) {

//1.键盘录入,接受用户名和密码

Scanner sc = new Scanner(System.in);

System.out.println("请输入用户名:");

String username = sc.nextLine();

System.out.println("请输入密码:");

String password = sc.nextLine();

//2.调用方法

boolean flag = new JDBCDemo9().login(username, password);

//3.判断结果,输出不同语句

if(flag){

//登录成功

System.out.println("登录成功!");

}else{

System.out.println("用户名或密码错误!");

}

}

 //登录方法

public boolean login(String username ,String password){

if(username == null || password == null){

return false;

}

//连接数据库判断是否登录成功

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

//1.获取连接

try {

conn = JDBCUtils.getConnection();

//2.定义sql

String sql = "select * from user where username = '"+username+"' and password = '"+password+"' ";

//3.获取执行sql的对象

stmt = conn.createStatement();

//4.执行查询

rs = stmt.executeQuery(sql);

//5.判断

/* if(rs.next()){//如果有下一行,则返回true

return true;

}else{

return false;

}*/

return rs.next();//如果有下一行,则返回true

} catch (SQLException e) {

e.printStackTrace();

}finally {

JDBCUtils.close(rs,stmt,conn);

}

 

return false;

}

}

JDBC控制事务:

1. 事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么

同时成功,要么同时失败。

2. 操作:

1. 开启事务

2. 提交事务

3. 回滚事务

3. 使用Connection对象来管理事务

 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启

事务

 在执行sql之前开启事务

 提交事务:commit()

 当所有sql都执行完提交事务

 回滚事务:rollback()

 在catch中回滚事务

posted @ 2020-10-26 20:06  睡不醒少年  阅读(64)  评论(0)    收藏  举报