【学习笔记】
一、【JDBC】java数据库连接,JavaEE规范之一,主要是使用java来操作关系数据库他还包含一组接口。接口的具体实现由数据库厂商,该实现成为驱动
JCP 规范:PDF文件
【【数据库连接】】
a、将oracle项目目录下的object6文件拷贝--->新建一个文件夹Folder 拷贝进去
----------------------------------------------------------
b、右击该文件Build path --->add Build path to...
----------------------------------------------------------
c、新建一个类,存放连接代码:
//加载驱动:class.name("oracle.oracle.jdbc.driver.OracleDriver") 会抛出一个错误,捕获一下就行
//连接数据库接口:Connectionconn = null; 然后conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","lb", "123"); 会抛出一个异常
//@localhost表示本地或者 主机IP地址如@172.16.16.193 ,监听端口号:数据库名称(精简版为XE,企业版默认orcl)用户名,密码 会抛出一个异常
//最后打印一下conn,看看有没有问题
public classcomtestqudong {
publicstatic void main(String[] args) {
/*
* 加载驱动"oracle.jdbc.driver.OracleDriver"
*/
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch (ClassNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
//获取数据库连接 端口:1521 存放于oracle安装目录:network 下的listener.ora文件里查找
Connectionconn = null;
try{
conn= DriverManager.getConnection(
"jdbc:oracle:thin:@172.16.16.193:1521:XE","lb", "123");
}catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(conn+ "...");
}
}
-----------------------------------------------------------------
【【数据修改】】--不会有返回数据
-----------------------------------------------------------------
Stringsql = "insert into Stu_class values(id.nextval,'动漫班',sysdate)";
Statementstmt = null;
try{
stmt= conn.createStatement();
stmt.execute(sql); //execute方法最适合增删改,返回的是boolean类型的executeupdate 返回的是int型(影响的行数)
}catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
-----------------------------------------------------------------
将代码自动封装成工具方法 选择代码 -->refactor-->Extrct Method..
-----------------------------------------------------------------
实体类:新建一个lei如班级:Clazz(属性java bean风格) 在新建一个类(保存增删改差方法) clazzDAO
-----------------------------------------------------------------
java中做删除做修改sql的条件都是带主键
//PreparedStatement