Java学习之JDBC 2019/3/10

时间:2023-12-15 16:59:44

Java学习之JDBC

大部分的程序都是用来通过处理数据来达到人们预期的效果,数据是粮食,没有数据操作的程序就像helloworld程序一样没有用处。因此数据库操作是重中之重,是程序发挥功能的基石,java对数据库的链接与操作简称为JDBC,学好,运用好JDBC是必须的。

首先需要了解MySQL数据库,当在电脑完成数据库的安装后,就可以进行数据库的一般操作了。

基本语法:

创建数据库: CREATE DATABASE how2java

创建数据库中的表:

CREATE TABLE hero(

Id int(11)  AUTO_INCREMENT,//表示自增长,一般作为唯一键值

Name varchar(30),

Garde float(15),

Primary key(id) //必须部分,表示选择id 作为唯一键值

) DEFAULT CHARSET = UTF8;  //这样子就可以支持中文了

查询所有

Select * from hero ( 表名)

按条件查询

Select * from hero where id =?

删除所有

Delete from hero

按条件删除

Delete from hero where id =?

插入信息

Insert  into  hero  values ( null, ‘teemo’,800 )

JDBC:

首先连接驱动:

Try{

Class.forName( “ com.mysql.jdbc.driver“)

}

Catch(ClassNotFoundException E ){

E.printStackTrace();

}

再创建连接:

Connection C = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8”,”root”,”admin”);需要捕捉异常!

一般两种方式来执行对MySQL的操作语句

第一种 (以查询为例) :Statement S = C.createStatement();(需要捕捉异常!)

String str = “ select * from hero”;

RuseltSet rs =S.executeQuery(str);

While( rs.next() ){

String SStr = rs.getString(2);

Int I = rs.getInt(1);

//以上表明分别获取名字和id

}

第二种 String str = “select * from hero where id = ?”

PreparedStatement ps = C.PrepareStatement(str);

ps.setInt(1,1) //在这里表示对以上string语句的问号的赋值,前面的数字是第几个问号,后面是要赋的值

RuseltSet rs = ps.execute();

While( rs.next() ){

String SStr = rs.getString(2);

Int I = rs.getInt(1);

//以上表明分别获取名字和id

}

事务处理:

当先用 C.SetAutoCommit(false)第一行,

后在用C.Commit()完结,中间的代码表示一个事务,是连在一起的

特殊操作:

插入后,获取自增长id

ResultSet Rs = ps.getGeneratedKets();

再提取Rs中的值就是其id

获取可用数据库名单

DataBaseMataBase sjkmd = C.MataBase();

Result Rs = sjkmd.getCatalogs();

再提取Rs中的值就是其名单!

2019/3/10 晚11点