zoukankan      html  css  js  c++  java
  • (七)Hibernate中使用JDBC

    • 在hibernate中获取connection数据库连接有两种方法:(操作数据库常用这种方法)
    •  1. session.doReturningWork   返回一个对象,适用于查询方法
    •  2. session.doWork      不返回对象,适用于增删改

    案例一:

    package action;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.hibernate.cache.spi.QueryResultsRegion;
    import org.hibernate.jdbc.ReturningWork;
    
    import bean.User;
    import util.HibernateUtil;
    
    public class Query_JDBC {
        public static void main(String[] args) {
            Query_JDBC.jdbc();
        }
    
        /**
         * 在Hibernate中获取Connection接口
         */
        private static void jdbc() {
    
            Session session = null;
            Transaction tran = null;
    
            try {
    
                session = HibernateUtil.getSession();
                tran = session.beginTransaction();
    
                User user = session.doReturningWork(new ReturningWork<User>() {
    
                    @Override
                    public User execute(Connection conn) throws SQLException {
                        QueryRunner queryRunner = new QueryRunner();
                        String sql = "select username,userid,is_admin as isadmin from user where userid=1";   //数据库中的is_admin和bean中的isdmin不一致
                        User user = queryRunner.query(conn, sql,
                                new BeanHandler<User>(User.class));
    
                        return user;
                    }
    
                });
    
                System.out.println("username=" + user.getUsername() + "	"
                        + "userid=" + user.getUserid() + "	" + "isadmin?"
                        + user.getIsAdmin());
    
                tran.commit();
            } catch (Exception e) {
                e.printStackTrace();
                tran.rollback();
            } finally {
                HibernateUtil.closeSession();
            }
    
        }
    
    }

    结果:

    代码在下面章节

  • 相关阅读:
    15分钟学会使用Git和远程代码库
    关注的一些个人博客记录
    vue实现筛选功能,文字选中变色
    为博客添加二次元人物方法
    收藏几个用的到的网站
    《代码整洁之道》学习记录
    《架构整洁之道》学习记录
    《指尖上行--移动前端开发进阶之路》学习记录
    《JavaScript设计模式》学习记录
    《以匠心,致设计》学习记录
  • 原文地址:https://www.cnblogs.com/shyroke/p/6849293.html
Copyright © 2011-2022 走看看