转账请注明出处:http://blog.csdn.net/anxpp/article/details/51345252,谢谢!
现在有很多框架,比如hibernate,为我们封装好了jdbc,不过有时候,我们还是希望自己使用jdbc连接数据库并访问。
本文以 Oracle 12c 为例,演示基本的jdbc使用。
Oracle数据库
您需要Oracle数据库,如果没有可以参考这篇文章安装:Oracle 12c Windows安装、介绍及简单使用(图文)
基本的java工程
相信大家都没有问题。
jdbc驱动
在Oracle主目录中有,比如本人的为:C:\app\iamanxpp\product\12.1.0\dbhome_1\jdbc
把ojdbc7.jar添加到工程中即可。
此处,直接将说明放到注释中,大家阅读起来也请清楚,sql代码仅用来演示介绍:
- package com.anxpp.demo.oracle12jdbc;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class Test {
- //主方法
- public static void main(String[] args) throws SQLException {
- OracleJdbcTest test = new OracleJdbcTest();
- try{
- test.query("drop table testjdbc");
- }catch(SQLException e){}
- test.query("create table testjdbc(id int,name nchar(20))");
- test.query("insert into testjdbc values(1,'anxpp')");
- test.query("insert into testjdbc values(2,'test')");
- test.query("SELECT * FROM testjdbc",true);
- test.close();
- }
- }
- class OracleJdbcTest{
- //数据库连接对象
- private static Connection conn = null;
- private static String driver = "oracle.jdbc.driver.OracleDriver"; //驱动
- private static String url = "jdbc:oracle:thin:@//127.0.0.1:1521/orcl"; //连接字符串
- private static String username = "system"; // 用户名
- private static String password = "Anxpp0618"; // 密码
- //获取连接对象
- private static synchronized Connection getConn(){
- if(conn==null){
- try {
- Class.forName(driver);
- conn = DriverManager.getConnection(url, username, password);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return conn;
- }
- //执行查询语句
- public void query(String sql,boolean isSelect) throws SQLException {
- PreparedStatement pstmt;
- try {
- pstmt = getConn().prepareStatement(sql);
- // 建立一个结果集,用来保存查询出来的结果
- ResultSet rs = pstmt.executeQuery();
- while (rs.next()) {
- String name = rs.getString("name");
- System.out.println(name);
- }
- rs.close();
- pstmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void query(String sql) throws SQLException {
- PreparedStatement pstmt;
- pstmt = getConn().prepareStatement(sql);
- pstmt.execute();
- pstmt.close();
- }
- //关闭连接
- public void close(){
- try {
- getConn().close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
结果:
- anxpp
- test
SQL数据库语言总结及代码示例
Oracle 12c Windows安装、介绍及简单使用(图文)
Oracle 12c 在Spring、Hibernate中的配置和使用
Oracle中的数据类型介绍
后两篇在编辑中。