版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北师大版一年级下册数学第五单元 加与减(二) 测试卷【考点精练】
- 设备采购招标文件范例集
- 证券投资代理协议
- 语文学习多渠道探索
- 责任担当保证书
- 货物采购招标文件询价
- 购货合同书案例
- 购销合同更动书
- 购销合同监控策略解析
- 购销合同门禁系统的意义
- 在产品与完工产品成本的核算
- 幼儿园小班音乐《妈妈来抓兔兔》的优秀教案
- 2020版《中国药典》试液配制操作规程
- 业务学习简报(简笔画)
- 部编版(统编)小学语文四年级上册第七单元《语文园地七》教学设计
- 抽油杆和油管尺寸查用表1页
- 宁波地区冬闲田利用现状及对策
- 自动升降柱施工方案(1)
- 专用钻床的液压系统设计
- 新视野大学英语第三版读写教程第二册Unit5
- JG/T 10099 塔式起重机操作使用规程
评论
0/150
提交评论