JDBC笔记(一)

Java程序JDBC之间的链接

JDBC中的API全在这些Java.sql中,使用JDBC时要先下载对应的驱动包
Java程序与数据库的连接需要依靠JDBC去操作对应数据库的驱动包,然后再通过驱动包去对数据库进行操作。

一、连接MySQL

1.加载驱动

Class.forName("com.mysql.jdbc.Driver");

2.获取连接对象

String url = "jdbc.mysql://localhost:3306/数据库名称";
String user = "root";
String pwd = "123456";
Connection conn = DriverManager.getConnection(url,user,pwd);

3.编写sql语句

String sql = "create table stu(id int ,name varchar(50),age int)";

4.执行sql语句

Statement st =conn.CreateStatement();	
int row = st.exeuteupdate(sql);				//此方法返回值为受影响的行数

5.释放资源

st.close();
conn.close();

以上就是对数据库操作的五个基本的步骤,以上的使用statement去执行sql语句会存在一个性能和sql注入的安全问题。
因为数据库服务器中有一个预编译池,每产生一句新的sql语句,预编译池就会进行一次编译。如下图:

二.Java程序与数据库服务器的交互示意图

在这里插入图片描述
解决方法是使用Statement的子类PrepareStatement去执行sql语句,不仅可以使用占位符省去字符串的拼接,还可以防止sql的注入提高程序的安全性。具体的实现和介绍会在后面再写出。
注意:mysql中没有预编译池,Oracle中有。

三.DAO层操作

1.查询操作

1.结果集:ResultSet,执行查询语句时得到的结果及
常用方法:
boolean next();判断是否有下一行数据
getXxx(int col);获取当前列的值.
getXxx(String col);获取指定列名的值
Xxx表示数据类型

2.DAO设计

1.Data Access Object 数据存储对象
2.位于业务逻辑和持久化对象数据之间
3.实现对持久化数据的访问

3.ORM

1.对象关系映射
2.将关系数据库中的表与Java中的类对应

4.domain

1.类,符合JavaBean的规范
2.作用:用户与数据库交互的核心中转站

5.包名的规范

DAO包名的规范:

com.xxx.jdbc.dao.domain 存放所有的domain类
com.xxx.jdbc.dao 存放所有的dao接口
com.xxx.jdbc.dao.impl 存放所有的dao接口实现类
com.xxx.jdbc.dao.test DAO组件测试类

类名规范

domain类:Javabean要见名知意
dao接口:对某个对象的CRUD声明,起名规范IDomainDao
dao实现类:表示DAO接口的实现类,起名规范DomainDaoImpl

以上都是个人见解,如有误,欢迎大家指出1344497538@qq.com

一、概述: JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBC API 使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。 ODBC:基于C语言的数据库访问接口。 JDBC也就是Java版的ODBC。 JDBC的特性:高度的一致性、简单性(常用的接口只有4、5个)。 1.在JDBC中包括了两个包:java.sql和javax.sql。 ① java.sql 基本功能。这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。 ② javax.sql 扩展功能。它主要为数据库方面的高级操作提供了接口和类。如为连接管理、分布式事务和旧有的连接提供了更好的抽象,它引入了容器管理的连接池、分布式事务和行集等。 注:除了标出的Class,其它均为接口。 API 说明 java.sql.Connection 与特定数据库的连接(会话)。能够通过getMetaData方法获得数据库提供的信息、所支持的SQL语法、存储过程和此连接的功能等信息。代表了数据库。 java.sql.Driver 每个驱动程序类必需实现的接口,同时,每个数据库驱动程序都应该提供一个实现Driver接口的类。 java.sql.DriverManager (Class) 管理一组JDBC驱动程序的基本服务。作为初始化的一部分,此接口会尝试加载在”jdbc.drivers”系统属性中引用的驱动程序。只是一个辅助类,是工具。 java.sql.Statement 用于执行静态SQL语句并返回其生成结果的对象。 java.sql.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象,SQL语句被预编译并且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。 java.sql.CallableStatement 用来访问数据库中的存储过程。它提供了一些方法来指定语句所使用的输入/输出参数。 java.sql.ResultSet 指的是查询返回的数据库结果集。 java.sql.ResultSetMetaData 可用于获取关于ResultSet对象中列的类型和属性信息的对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值