如何吧Java和数据库链接
1,全称 : Java DataBase Connectivty
其实JDBC是Java平台提供的一套统一的执行规范/标准 (接口)
每一个数据库产品 都实现了这个规范
2,作用
1,创建链接
2,用来读写数据库的流
3,传送SQL指令
4,处理相应信息
5,处理事务
3,JDBC驱动类型(了解)
JDBC-ODBC 桥接类型每一个客户机都需要安装 耗费空间 管理不方便
JDBC-Native 类似第一种,每一个 客户机安装,调用本地原生的C/C++ 具体到
JDBC-Net 。。。
纯JavaJDBC 纯粹基于Socket
4,找到MySQL的驱动类型
下载驱动包官方网址:
https://dev.mysql.com/doc/index-connectors.html
5,一切准备就绪 通过Java利用JDBC的桥梁操作MySQL数据库
JDBC六部曲
1,导包----把jar文件导入Java工程
在工程创建一个lib文件夹
把jar复制到工程的lib文件内
做一个设置File----Project Structure----Libraries
点击中间的+号-----选择Java文件 ---找到你复制过来的在lib文件夹的 jar文件
2,加载驱动类(Driver)
通过反射方法 com.mysql.jdbc.Driver
Class.forName(" com.mysql.jdbc.Driver ");
3,获取链接(Java和数据库的链接)(DriverManger)
str1 url =" "; ( jdbc:mysql://localhost:3306/AAAAA (事情:数据库名字://ip地址:端口号/database名) )
str2 user =" "; ( 用户名 )
str3 password =" "; ( 密码 )
Connection conn = DriverManger.getConnection( str1 , str2 , str3 );
4,创建状态参数(流)-
Statement stat = conn.creatStatement ;
5,执行数据库操作
inserst updata delete (对数据库进行更新)
stat.executeUpdate( " 字符串 " )
select (数据库没有发生变化,我要处理结果)
int count = stat.executeQuery( " 字符串 " )
count是返回数据库变化的行数
6,关闭
rs.close ;
stat.close ;
conn.close ;
-------------------------------qurey查询的操作---------------------------------------------
使用的方法:Set< Map < String , Object > >
ResultSet rs= stat.executeQuery ( ''select * from tablename '' )
rs.next (判断是否有下一个元素) Boolean b =rs.next(); 有就是真
rs.getXXX(key) ; 获取 String aaa = rs.getString ( 列 名 );
注意 在get方法里有 getInt getFloat getDouble getData等方法
返回的是int float double data类型
在getInt(列明) 有方法的重载 可以获取对应列名的数字;
和getInt(1) 可以获取对应序列的数字里面的东西,
比如一号的列名(从一开始)。。。
====================================================================
加载驱动其他的方式:
1 Classforname
2DriverManger.registerDriver( new Driver() );
3new Connect();
4System.setProperty( " jdbc.driver " , " com.mysql.ci.jdbc.Driver ")
===================================================================
操作事务
1,jdbc默认的开启事务 默认自动提交事务
2,可以手动提交事务
conn.setAutoCommit(false); false表示手动提交
3,设置事务隔离级别
con.setTransactionIsolation(Connection.AAAAAAAAA);
4,提交
con.commit();
con.rollback;
Savepoint s = con.setSavepoint(" X ");
con.rollback (s) ;