hibernate 和jdbc

来源:互联网 发布:淘宝风筝 编辑:程序博客网 时间:2024/06/05 14:18

软件 项目文档 src 结构 分析

Action 包 存放 所有的控制器

控制页面跳转

DAO 实现数据访问层  对数据增加 修改删除 查询 分页 等 功能

Hibernate 系统 类 主要作用 产生session

Po   实体类 与配置 文件 myeclipse db工具 自动 生存 数据库 表结构确定

Service 服务层调用 dao数据访问层 代码

Util 存放 分页  工具辅助类

 

Hibernate 程序

Dao 层 代码总结

公用的数据访问代码

Session session=HibernateSessionFactory.getSession();//活动session

Transaction transaction=null;// 声明 一个 事务对象

try {

transaction=session.beginTransaction();//开启事务

transaction.commit();//提交事务

} catch (Exception ex) {

// TODO: handle exception

ex.printStackTrace();

transaction.rollback();//回滚事务

}

HibernateSessionFactory.getSession();//关闭session

 

执行 数据库操作

           查询 列表数据 返回  list列表

singers = session.createQuery(sql).list();

 保存对象

session.save(singer);

分页 查询数据

Query query = session.createQuery("from Song s where s.cpuser.id ='" + cpuserId +"'order by (flag) DESC");

query.setMaxResults(page.getEveryPage());

query.setFirstResult(page.getBeginIndex());

list = query.list();

查询记录条数

Query query = session.createQuery("from Song s where s.cpuser.id ='" + cpuserId +"'");

count = query.list().size();

根据字符串查找对象

 

song = (Song)session.get(Song.class, songId);

删除对象
session.delete(song);

更新对象

session.update(song);

 

 

 Jdbc  封装分析

第一步

 

    public void connbestdb(){

        String url =

        "jdbc:sqlserver://localhost:1433;databaseName=BESTJ2EE";

    try {

        conn = DriverManager.getConnection(Constant.URL,Constant.USERNAME,Constant.PASSWORD);

        stmt =conn.createStatement();

    } catch (SQLException ex) {

        System.out.println("------在建立数据库连接时抛出异常,内容如下:");

        ex.printStackTrace();

    }    

    }

 

关闭 数据库

 public void closedb() {

        //先判断欲关闭对象是否为空,如果为空则跳过

        if (rs !=null) {

            try {

                rs.close();

                rs =null;

            } catch (SQLException ex) {

                ex.printStackTrace();

            }

        }

        if (stmt !=null) {

            try {

                stmt.close();

                stmt =null;

            } catch (SQLException ex) {

                ex.printStackTrace();

            }

        }

        if (conn !=null) {

            try {

                conn.close();

                conn =null;

            } catch (SQLException ex) {

                ex.printStackTrace();

            }

        }

    }    

 

数据库操作

 

 

 public boolean executeSQL(String sqlString) {

        boolean executeFlag;

        try {

        stmt.execute(sqlString);

            executeFlag =true;

        } catch (Exception e) {

            executeFlag =false;

            System.out.println("sql exception:" + e.getMessage());

        }

        return executeFlag;

    }

    

 

    //插入记录

    public void insert(String sql) {

        try {

            stmt.executeUpdate(sql);

        }catch(SQLException ex) {

            System.out.println("------在插入记录时抛出异常,内容如下:");

            ex.printStackTrace();

        }

    }

 

    //修改记录

    public void update(String sql) {

        try {

            stmt.executeUpdate(sql);

        }catch(SQLException ex) {

            System.out.println("------在修改记录时抛出异常,内容如下:");

            ex.printStackTrace();

        }

    }

 

    //删除记录

    public void delete(String sql) {

        try {

            stmt.executeUpdate(sql);

        } catch (SQLException ex) {

            System.out.println("------在删除记录时抛出异常,内容如下:");

            ex.printStackTrace();

        }

    }

 

    //查询记录,返回结果集

    public ResultSet select(String sql) {

        try {

        System.out.println(sql);

            rs =stmt.executeQuery(sql);

        } catch (SQLException ex) {

            System.out.println("------在查询记录时抛出异常,内容如下:");

            ex.printStackTrace();

        }

        return rs;

    }    

    

    public int GetSqlRecount(String sql){

    int recount=0;

    try{

    System.out.println(sql);

    rs =stmt.executeQuery(sql);

         while(rs.next()) {        

         recount=recount + 1;

         }

    return recount;

    }catch(SQLException ex){    

    System.out.println("------在查询记录时抛出异常,内容如下:");

    ex.printStackTrace();

    return -1;

    }

    }   

 

 

 

0 0
原创粉丝点击