首页 > 代码库 > (七)Hibernate中使用JDBC
(七)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() + "\t" + "userid=" + user.getUserid() + "\t" + "isadmin?" + user.getIsAdmin()); tran.commit(); } catch (Exception e) { e.printStackTrace(); tran.rollback(); } finally { HibernateUtil.closeSession(); } } }
结果:
代码在下面章节
(七)Hibernate中使用JDBC
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。