JDBC新手必会

tech2024-11-24  11

JDBC新手必会

jdbc是什么

java连接数据库 java database connectivity

jdbc的本质是什么

是sun公司提供的一套接口

接口都有调用者和实现者

面向接口调用 面向接口写实现类 这都属于面向接口编程

为什么要面向接口编程

解耦合:降低程序的耦合度 提高程序的可扩展力

多台机制就是非常典型的面向抽象编程(是面向具体编程)

建议以后写也用多态机制 父类型的引用指向子类型的对象

jdbc使用流程

java程序员面向接口编程 》 调用jdbc接口 》 数据库厂家java程序员提供的负责编写jdbc接口的实现类(一些.class文件)就是各种(mysql/Oracle)驱动

什么是驱动

所有的数据库驱动都是以jar包的形式存在 jar包中有很多的.class文件 这个文件就是对jdbc接口的实现 驱动不是sun公司提供的 是各大数据库厂家负责提供 下载驱动jar包需要去数据库官网下载

JDBC编程六步

第一步:注册驱动

作用:告诉java程序员 即将连接的是哪个品牌的数据库

方法:

class.forName("com.mysql.cj.jdbc.Driver");

第二步:获取连接

表示JVM的进程和数据库进程之间的通道已经打开 这属于进程之间的通信属于重量级别的 使用完记得关闭

String url=”” String user=”root” String pas =123456; Conn= DriverManager.getConnection(url,user,pas);

第三步:获取数据库操作的对象

专门执行sql语句的地方

String sql = “select * from login where username = ? and userpas = ?; Ps = conn.prepareStatment(sql); Ps.SetString(1,username); Ps.SetString(2,usrepas); Rs = ps.ExcuteQuery(); //这是标准写法 Stmt = conn.Statement()

第四步:执行SQL语句

int count = stmt.excuteupdate(sql);//当代码执行增删改时使用

第五步:处理查询结果

注意:这一步是仅限于第四部是查询操作使用

Rs=stmt.excutequery(sql); While(rs.next(){ String username = rs.getString(1); String userpas = rs.getString(2); System.out.println(username + userpas); }

第六步:释放资源

使用完资源后一定要关闭资源 java和数据库之间的通信,开启一定要关闭

Try{ If(rs!=null){ Rs.close(); } }catch(Exception e){ E.printStacktrace(); }

statement and preparestatement区别

1.statement存在SQL注入问题,preparestatement解决了这个问题

2.statement编译一次 执行一次 preparestatement编译一次执行N次

3.preparestatement会在编译阶段做类型的安全检查

4.综上:preparestatement使用多

事务提交

jdbc中的事务是自动提交的 是什么自动提交:

只要执行任意一条dml语句 就会自动提交一次 只是jdbc默认的事务行为

但是在实际业务过程中 通常是N条数据共同联合才能完成 必须保证这些dml语句在同一个事务中同时完成或者同时失败

最新回复(0)