您的位置:首页 > 数据库 > Oracle

JDBC入门

2016-03-27 16:19 771 查看
JDBC (java data base connection) java数据库连接

原理:Jdbc就是一个java连接数据库(oracle/mysql/sqlserver)的技术
特点:全是接口  需要下载第三方提供的jar包

步骤:

1、  引入jar包 :当前工程下新建lib文件夹,把jar包放入文件夹中,然后添加到项目类库下

右键 --> Build Path --> Add to Build Path

2、  加载oracle驱动

Class.forName ("oracle.jdbc.driver.OraceDriver");

3、  连接oracle

连接数据库需要3个参数

i.             数据库的地址String url = "jdbc:oracle:thin:@localhost:1521/orcl";

ii.             数据库帐号
String userName = "scott";

iii.             数据库密码
String passWord = "system123";

使用DriverManager连接数据库

Connection conn =DriverManager.getConnection(url,userName,passWord);

4、  常用接口

a)        Connection  : java的数据库连接

b)        Statement  : java 的发送SQL的接口对象

i.             组装SQL语句,发送到数据库去要求数据库执行

c)        ResultSet   :查询数据返回结果集

i.             就是一个键值对的对象(有点像hashmap)

ii.             next() 方法:判断这个对象里面是否有值

iii.             getString(“列名”);  getInt(“列名”)

5、  进行数据库操作

增、删、改、查

//增加一行数据,以EMP表为例

public int insertEmpById(int empno, String ename, String job, int mgr, String hiredate, double sal, double comm,int deptno) {

Emp emp = new Emp();
int result = 0;
try {
// 加载驱动字符串
Class.forName(driver);
// 得到数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据
String SQL = "insert into emp values (" + empno + "," + ename + "," + job + "," + mgr + "," + hiredate + ","+ sal + "," + ","+comm +","+ deptno + ")";
// 发送SQL
Statement sta = conn.createStatement();
result = sta.executeUpdate(SQL);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e3) {
e3.printStackTrace();
}
return result;
}

//根据empno删除一行数据

public int deleteEmpById(int empno) {
Emp emp = new Emp();
int result = 0;
try {
// 加载驱动字符串
Class.forName(driver);
// 得到数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据
String SQL = "delete from emp where empno=" + empno;
System.out.println(SQL);
// 发送SQL
Statement sta = conn.createStatement();
result = sta.executeUpdate(SQL);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e3) {
e3.printStackTrace();
}
return result;
}

}

//修改数据

public int updateEmpById(String id, double sal) {
Emp emp = new Emp();
int result = 0;
try {
// 加载驱动字符串
Class.forName(driver);
// 得到数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据
String SQL = "update emp set sal = " + sal + " where empno = " + id;
System.out.println(SQL);
// 发送SQL
Statement sta = conn.createStatement();
result = sta.executeUpdate(SQL);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e3) {
e3.printStackTrace();
}
return result;
}

//根据ID查询信息

public Emp selectEmpById(String id) {
Emp emp = new Emp();
try {
// 加载驱动字符串
Class.forName(driver);
// 得到数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据
String SQL = "select * from emp where empno = " + id;
System.out.println(SQL);
// 发送SQL
Statement sta = conn.createStatement();
ResultSet rs = null;
rs = sta.executeQuery(SQL);
// 遍历rs
if (rs.next()) {
emp.setEmpno(rs.getInt("empno"));
emp.setEname(rs.getString("ename"));
emp.setComm(rs.getDouble("comm"));
emp.setDeptno(rs.getInt("deptno"));
emp.setHiredate(rs.getString("hiredate"));
emp.setJob(rs.getString("job"));
emp.setMgr(rs.getInt("mgr"));
emp.setSal(rs.getDouble("sal"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return emp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息