现实的应用程序都是用户通过可视化界面发出指令从而修改数据库。本篇文章以Oracle为例,模拟怎么通过java代码实现数据库的增删改查。

新建一个Java项目,要建好桥梁,首先要拷入驱动Jar包放在项目名根目录,右键Jar包,选择Build Path》build to path。但是要想Jar包随项目走的话,需要新建lib目录,将jar包放入lib目录下。以下代码意思流程我都会在工程中解释。

JDBC连接数据库:

public static void main(String[] args) {

//在这里我不一一举例写方法执行增删改查了

//数据库连接

Connection conn = null;

Statement st =null;

ResultSet rs = null;

try {

//加载驱动引擎

Class.forName("oracle.jdbc.driver.OracleDriver");//驱动jar包名称

//建立与数据库的链接

conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "system", "svse");

//建立执行sql语句平台

st = conn.createStatement();

//业务逻辑代码(数据库代码)



//st.execute("Insert Into tableName values(one,'two','three')");//增加

//st.execute("Delete From tableName Where id = ?");//删 除了查询返回结果集之外,其他的都是一样的

rs=st.executeQuery("Select * From tableName");

while(rs.next()){

System.out.println("rs.,,,,,,,,,");

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

//关闭资源

if(conn!=null){

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(st!=null){

try {

st.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(rs!=null){

try {

rs.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}



}

Hinernate连接数据库

首先要导入Hibernate框架。

1.添加数据源

windows > show view > other > myEclipse Database 在新出来的窗口点击New

之后点击Test通过之后就一直点击next就行了。

2.加载框架

(myeclipse2014)右键工程名称》myeclipse》Projects facts》insert Hibernate

选择数据源后自动生成

这个和我们的jdbc代码是不是很像,它就是连接配置文件,

在hibernate.cfg.xml里

<session-factory>

        <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>

        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>

        <property name="connection.username">jacxuan</property>

        <property name="connection.password">965752</property>

        <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>

        <property name="myeclipse.connection.profile">dept</property>

    

    </session-factory>

之后要实现增删改查,还需要将表生成映射关系

找到你用户名下的table 》 hibernate reverse engin

最下面两个勾如果你的表存在外键表的话就会自动生成,如果你只需要单表测试,建议不要勾选。

业务逻辑代码

//加载配置文件

//如果你的配置文件路径或者文件名改变,则需再配置过程中加入文件名和路径

//Configuration cfg = new Configuration().configure("src/hibernateTest.cfg.xml");

Configuration cfg = new Configuration().configure();

//创建session工厂

SessionFactory sf = cfg.buildSessionFactory();

//打开会话

Session session = sf.openSession();

//开始事务

Transaction tran = session.beginTransaction();



//业务逻辑代码(数据库操作)

//增

// Dept dept  = new Dept();

// dept.setDeptname("anyName");

// dept.setDeptpwd("anyPWD");

// session.save(dept);



//删

// Dept dept = (Dept) session.get(Dept.class, 1);

// session.delete(dept);



//改

Dept dept = (Dept) session.get(Dept.class, 1);

dept.setDeptname("anyName");

dept.setDeptpwd("anyPWD");



//查

//注意表名一定要大写!!!

Query query = session.createQuery("From Dept");

List<Dept> list = query.list();

for (Dept dept2 : list) {

System.out.println(dept2.getDeptname()+"\t"+dept2.getDeptpwd());

}

//提交事务

tran.commit();

//关闭回话

session.close();

//关闭session工程

sf.close();

OracleJar包下载地址:http://download.csdn.net/detail/jacxuan/9713188

服务器和java程序的桥梁--jdbc/hibernate的更多相关文章

  1. 在java程序中使用JDBC连接mysql数据库

    在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...

  2. 编写Java程序,使用JDBC连接SQL Server数据库

    返回本章节 返回作业目录 需求说明: 使用JDBC连接SQL Server数据库 SQL Server数据库位于192.168.2.101. 所需连接的数据库为eshop_db,用户名为test,密码 ...

  3. java程序重要节点

    1.前台页面 2.前台页面到controller层跳转 和controller层的承上启下(jsp页面和java程序的桥梁) 3.serviceIpmle 程序处理的逻辑层 3.mybatis操作数据 ...

  4. Java面试题 OOAD & UML+XML+SQL+JDBC & Hibernate

    二.OOA/D 与UML 部分:(共6 题:基础2 道,中等难度4 道) 96.UML 是什么?常用的几种图?[基础] 答:UML 是标准建模语言:常用图包括:用例图,静态图(包括类图.对象图和包图) ...

  5. 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

     1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器. Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 ...

  6. JDBC:Java连接数据库的桥梁

    JDBC(Java DataBase Connection),java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成 ...

  7. 在云端服务器centos7安装jvm并且运行java程序

    (1)在云端服务器 下载jdk http://www.linuxidc.com/Linux/2016-09/134941.htm(大致看这个文章后可以下载一个jdk的压缩包,然后将压缩包解压) 然后, ...

  8. JDBC让java程序连上数据库(mysql数据库)

    一.小论异常: 其实JDK已经提供了一组API让java程序连上数据库,并执行SQL语句,其实说起来也蛮简单的,但是绝对是一个细致活,因为稍不留神,异常就铺天盖地的来了,下面说说这些异常吧(声明一下: ...

  9. 【JDBC】Java程序的数据库初体验

    JDBC是什么 JDBC是一种能够用来执行SQL语句的Java API[接口]. 它是Java提供的一种规范,让各大数据库厂商遵循此规范完成自己的数据库连接驱动[实现接口]. JDBC的入门程序(这里 ...

随机推荐

  1. jQuery UI-Draggable 参数集合

    ·概述    在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动.    官方示例地址:http://jqueryui.com/demos/draggable/      所有 ...

  2. Django model 字段类型清单

    Django model字段类型清单 Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField 一个自动递增的整型字 ...

  3. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式

    如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty.Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式 ...

  4. 蓝牙HC-05与HC-06对比指令集

    高电平->AT命令响应工作状态     低电平->蓝牙常规工作状态 <重新上电表示完成复位> HC-05 可以主从切换模式,但是HC-06虽然可以做主机也可以做从机,但是不能切 ...

  5. for...in与点语法

    语法 for...in语句循环一个指定的变量来循环一个对象所有可枚举的属性.如下所示 for (variable in object){ statements } 问题 在实际的使用过程中发现,在fo ...

  6. struct timeval和gettimeofday()

    http://www.cppblog.com/lynch/archive/2011/08/05/152520.html struct timeval结构体在time.h中的定义为: struct ti ...

  7. android hook 框架 ADBI 如何实现dalvik函数挂钩

    Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2  如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...

  8. 让指定JS出现智能提示

    大家都知道,在Asp.net MVC中,引入了CSS,JS捆绑优化这个好东东.但是,你会发现,运用了这个捆绑优化后,或者引用了模板后,在模板中引用了JS的文件后,在页面中编辑JS文件后,却不能利索地出 ...

  9. Matlab与C++混合编程,添加OpenCV库

    最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难 ...

  10. Python的支持工具[0] -> 环境包管理工具[0] -> pip

    pip包管理工具 / pip Package Management Tools pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_install工具. 1 pip ...