Hibernate预备实验_第1页
Hibernate预备实验_第2页
Hibernate预备实验_第3页
Hibernate预备实验_第4页
Hibernate预备实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hibernate预备实验实验内容:使用Java序列化实现持久化使用JDBC编程访问数据库Hibernate的一个简单例子实验目的:1. Java序列化2. JDBC编程3. Hibernate配置文件4. 映射文件编写5. 掌握Hibernate应用的基本步骤本实验主要谈谈Hibernate使用的一个简单例子,就是向数据库表中添加用户名和密码。新建一个Java项目名为sy5,本次实验只创建这样一个项目就足够了。一、 Java序列化将Java对象序列化输出到磁盘文件,再从磁盘文件中读取出来恢复为Java对象,实现持久化存储。1.创建实体类:package cs.cwnu.seri;import

2、 java.io.Serializable;public class Employee implements Serializable private String name;private int salary;public Employee() super();public Employee(String name, int money) = name;this.salary = money;/省略setter和getter/第二个实体类package cs.cwnu.seri;public class Manager extends Employee private

3、String name;private int salary;public Manager(String name, int money) = name;this.salary = money;public void setSecretary(Employee emp) /省略setter和getter2.编写测试类package cs.cwnu.seri;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io

4、.ObjectOutputStream;public class Test public static void main(String args) Employee emplyee = new Employee(zhangsan, 3000);Manager manager1 = new Manager(wangwu, 5000);manager1.setSecretary(emplyee);Employee staff = new Employee2;staff0 = emplyee;staff1 = manager1;try / /先写入流 保存到磁盘文件/ObjectOutputStr

5、eam out = new ObjectOutputStream(new FileOutputStream(employee.dat);/ employee.dat不存在将自动创建,放在项目sy5文件夹下,.dat后缀名是任取的out.writeObject(staff);/ /写出流out.close();/ /再从磁盘文件读入内存程序中/ObjectInputStream in = new ObjectInputStream(new FileInputStream(employee.dat);Employee newStaff = (Employee) in.readObject();/

6、/readObject()in.close();/for (int i = 0; i newStaff.length; i+)System.out.println(newStaffi.getName() + =+ newStaffi.getSalary();/ 打印输出看是否恢复成功 catch (Exception e) e.printStackTrace();二、JDBC编程1.创建数据库和数据库表格登录数据库点击输入数据库密码,数据库密码安装时已设定,请在实验室电脑桌面上查找。创建数据库“create database acc”使用show databases;查看创建的数据库,MySq

7、l使用分号标志命令行结束选择数据库“use acc”创建数据库表create table user(id int(3) unsigned NOT NULL auto_increment,username varchar(20),password varchar(20),primary key(id);使用describe user;可以查看创建的表结构,不熟悉的MySql命令查询用户手册。使用select * from user;可以查看user表中的记录,目前为空,一条都没有2.使用JDBC编码访问数据库,出入、读取数据准备:将数据库驱动程序mysql-connector-java-5.1.

8、18-bin.jar复制到sy5项目文件夹下,并添加到Build Path(选中项目右击),程序运行时就找得到驱动包中的类。点击进入对话框点击打开:package cs.cwnu.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class TestSQL public stati

9、c void main(String args) Connection con;PreparedStatement ps;Statement st;ResultSet rs;int i=0;/加载数据库驱动tryClass.forName(com.mysql.jdbc.Driver);catch (Exception e) System.out.println(加载数据库驱动失败!);e.printStackTrace();/获取数据库连接try con= DriverManager.getConnection(jdbc:mysql:/localhost:3306/acc, root, 123

10、4);ps=con.prepareStatement(insert into user (id,username,password) values (?,?,?);ps.setInt(1,i);i+;ps.setString(2, 张飞);ps.setString(3,911);ps.execute();st=con.createStatement();rs=st.executeQuery(select * from user);while (rs.next()System.out.println(rs.getInt(id)+ : +rs.getString(username)+ : +rs.

11、getString(password);try if(con!=null)con.close(); catch (Exception e2) System.out.println(连接关闭失败!);try if(ps!=null)ps.close(); catch (Exception e2) System.out.println(连接关闭失败!);try if(rs!=null)rs.close(); catch (Exception e2) System.out.println(连接关闭失败!);try if(st!=null)st.close(); catch (Exception e2

12、) System.out.println(连接关闭失败!);catch (SQLException e) System.out.println(获取数据库连接失败!); catch (Exception e) e.printStackTrace();3.测试运行一次就在数据库中插入一个张飞,可以用select * from user;查看插入情况。二、 使用Hibernate访问user表1.给项目添加Hibernate包添加过程需要设置Hibernate.cfg.xml配置文件,选中项目请选择3.3的版本前面两步直接点击next,无需改变设置配置Hibernate.cfg.xml,作用就是为

13、框架提供连接数据库的信息如下图填写,点击finish即可注意:jdbc:mysql:/localhost:3306/acc各使用acc指的是数据库名,前面是主机名端口号,在前面默认就是jdbc:mysql:/密码根据机器安装数据库设置的密码填写添加成功后目录结构,上面红色圈内为 Hibernate配置文件,下面为添加的包配置文件内容为:!DOCTYPE hibernate-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD 3.0/EN org.hibernate.dialect.MySQLDialect jdbc:mysq

14、l:/localhost:3306/acc root 1234 com.mysql.jdbc.Driver 2.创建实体类User.javapackage cs.cwnu.pojo;/* * User entity. author MyEclipse Persistence Tools */public class User implements java.io.Serializable / Fieldsprivate Integer id;private String username;private String password;/ Constructors/* default cons

15、tructor */public User() /* full constructor */public User(String username, String password) this.username = username;this.password = password;/省略setter和getter3.创建Hibernate映射文件User.hbm.xml,与User类在同一目录内容是:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 请在hibernate.cfg.xml添加映

16、射文件 添加在之前4.使用框架向数据库添加两条数据package cs.cwnu.demo;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import cs.cwnu.pojo.User;public class Test public static void main(String args) /*AnnotationConfiguration*/User m= ne

17、w User(关羽,123);User n= new User(刘备,456);/解析配置文件Configuration cfg=new Configuration();cfg.configure();/自动加载Hibernate.cfg.xml/cfg.setProperty(Environment.SHOW_SQL, true);/创建SessionFactorySessionFactory sf=cfg.buildSessionFactory();/打开sessionSession session = sf.openSession();/开启事务(查询操作不需要)Transaction tx=sess

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论