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;
}
原理: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;
}
相关文章推荐
- jdbc中的Statement和PreparedStatement接口对象
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序