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点