zoukankan      html  css  js  c++  java
  • Hibernate第一次课(1)

    中文转换:C:\a>native2ascii -encoding gb2312 a.properties b.properties
    1 做一个JSP页面,里面只有用户名的文本框和提交按钮。当用户点击的时候
      跳转到一个Servlet。Servlet里面读取属性文件。如果用户输入的用户名和
      属性文件中的用户名匹配上,输出信息:您被禁止登陆。如果用户输入的用户名
      和属性文件中的用户名不匹配,显示欢迎XXX登陆信息。

    2 做一个数据库表。里面有userid username password usertype字段。在上一题的
      基础上,如果用户输入的用户名和属性文件中的用户名不匹配,显示当前用户的用户名,
      密码,用户类型。(使用JNDI访问数据库连接池的方式连接数据库)

    3 做一个自定义异常类,继承自RuntimeException类。在里面实现单参构造方法和带
      两个参数的构造方法。在程序中判断是否是自定义异常,如果是,抛出自定义的错误信息。
     

    自定义异常类:
    public class DBAccessException extends RuntimeException {

     protected Throwable throwable;

     public DBAccessException(String message) {
      super(message);

     }
    }
    调用过程:
                   try { 
       Class.forName(driverClassName);
       con = DriverManager.getConnection(url, user, password);

      } catch (Exception ex) {
       throw new DBAccessException("不能取得数据库连接!");
      }
      ---------------------------------------------------------------------------------------------------------------------------

    当要将一个对象存储在网络、硬盘、或通过流传输的时候,必须对该类实现序列化,否则不能执行以上操作!

    你要传输或保存对象时,需要将对象转换成bit流,
    读取对象时,需要重新转换回来。

    这样,就必需实现序列化接口。

    序列化是为了存储整个对象

    什么是序列化?在什么情况下将类序列化?

    序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

    序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。

    是对象永久化的一种机制。
    确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。

    对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。

    ------------------------------------------------------------------------------------------------------------------------------Hibernate 通用DAO

    package dao;

    import po.Users;
    import po.HibernateSessionFactory;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.hibernate.Query;
    import java.util.;
    public class Dao {

     public void add(Users user){
      
      Session session=HibernateSessionFactory.getSession();
      Transaction tx=session.beginTransaction();
      session.save(user);
      tx.commit();
      session.close();
     }
     
     public void change(){
      Session session=HibernateSessionFactory.getSession();
      Transaction tx=session.beginTransaction();
      Users user=(Users)session.get(Users.class,new Integer(1));
      user.setPassword(aaaa);
      tx.commit();
      session.close();
     }
     
     public void delete(){
      Session session=HibernateSessionFactory.getSession();
      Transaction tx=session.beginTransaction();
      Users user=(Users)session.load(Users.class, new Integer(1));
      session.delete(user);
      tx.commit();
      session.close(); 
     }

     public List find(){
      Session session=HibernateSessionFactory.getSession();
      Query query=session.createQuery(from Users u where u.usertype=123);
      ArrayList list=(ArrayList)query.list();
      return list;
     }

     public List query(int pageNo,int pageSize){
      Session session=HibernateSessionFactory.getSession();
      String sql=from  Users;
      Query query=session.createQuery(sql);
      int beginnumber=pageSize(pageNo-1);
      query.setFirstResult(beginnumber);
      query.setMaxResults(pageSize);
      List list=query.list();
      return list;
     }
     
     
    }

  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/soundcode/p/1921261.html
Copyright © 2011-2022 走看看