Hibernate、一般Servlet、myBatis下的Utils汇总

Hibernate

//HibernateUtils.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 * @author Administrator
 * 
 */
public class HibernateUtils {

	private static SessionFactory sessionFactory = null;
	static {
		try {
			sessionFactory = new AnnotationConfiguration().configure()
					.buildSessionFactory();
		} catch (Exception e) {
			e.getStackTrace();
		}
	}

	public static Session getSession() {
		return sessionFactory.openSession();
	}

	public static void getClosed(Session session) {
		if (session != null) {
			session.close();
		}
	}
}

一般情况

//DbUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 连接数据库的公共类
 * @author JSZX
 *
 */
public class DbUtils {
	private static Connection conn=null;

	static {

		try {
			Class.forName("com.mysql.jdbc.Driver");
			try {
				conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/mydatabase", "root", "root");
				System.out.print(conn);
			} catch (SQLException e) {

				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获得连接信息
	 * @return
	 */
	public static Connection getConnection(){

		return conn;
	}
	public static void closeConnection(){
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

myBatis

//MyBatisUtils.java
import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtils {

	private static SqlSessionFactory  sqlSessionFactory=null;
	static {
		try {
			//配置连接数据库的资源文件
			String resource="/com/cissst/mapping/mybatis-configuraction.xml";
			//通过io流读取资源文件信息
			InputStream  inputStream =Resources.getResourceAsStream(resource);
			//通过SqlSessionFactoryBuilder创建SqlSessionFactory对象,同时传递io对象
			sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
		} catch (IOException e) {
			e.printStackTrace();

		}

	}
	/**
	 * 获得sqlSession对象该对象中有实例化接口的方法,同时SqlSession底层封装是jdbc信息,connection
	 * @return
	 */
	public static SqlSession getSqlSession(){

		return sqlSessionFactory.openSession();
	}

}
时间: 2024-10-19 03:14:47

Hibernate、一般Servlet、myBatis下的Utils汇总的相关文章

Mybatis常见面试题汇总

Mybatis常见面试题汇总 最近在复习整理Mybatis的相关知识,针对面试中的典型问题,结合相关书籍和网上相关帖子,做如下整理. ================================================================= 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver.#{}是sql的

hibernate 在tomcat7.X 下配置mysql数据源

先说一点题外话,LZ最近学习java web.今天刚看到hibernate,发现在hibernate配置数据源时网上的资料都太久远了,一般以tomcat 5 版本下的配置居多.而tomcat 7下的配置略有变化,新手找资料困难,可能会略受打击,故整理资料与大家共享,也可作备忘之用!若有不当之处,还请不吝赐教! 1.添加数据库驱动包mysql-connector-java-5.1.13-bin.jar加入到tomcat目录下的lib包中. 注意:网上几乎所有版本都说需要添加commons-dbcp

从JDBC到hibernate再到mybatis之路

一.传统的JDBC编程 在java开发中,以前都是通过JDBC(Java Data Base Connectivity)与数据库打交道的,至少在ORM(Object Relational Mapping)框架没出现之前是这样,目前常用的ORM框架有JPA.hibernate.mybatis.spring jdbc等,我一开始也是使用JDBC编程,后面开始使用hibernate,有一次开发一个CRM管理系统使用的是Spring JDBC操作数据库,但个人还是不太喜欢这个框架,本人目前使用的最多还是

攻城狮在路上(壹) Hibernate(七)--- 通过Hibernate操纵对象(下)

一.与触发器协同工作: 当Hibernate与数据库的触发器协同工作时,会出现以下两类问题: 1.触发器使Session缓存中的数据和数据库中的不一致: 出现此问题的原因是触发器运行在数据库内,它执行的操作对Session是透明的. 解决方案:在执行完包含有触发器的操作之后,立刻调用Session的flush()和refresh()方法,迫使Session的缓存与数据库同步. 2.Session的update()方法盲目的激发触发器: 这种情况主要发生在Session调用update()或sav

linux下vim命令汇总

一. 进入vi的命令 vi filename : 打开或新建文件,并将光标置于第一行首 vi +n filename : 打开文件,并将光标置于第n行首 vi + filename : 打开文件,并将光标置于最后一行首 vi +/xxx filename:打开文件,并将光标置于第一个与xxx匹配的串处 vi -r filename : 在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 二. 移动光标类命令 h :

hibernate学习笔记02-- eclipse 下 hibernate+mysql 的实现。

hibernate 环境的配置步骤: 加入 hibernate 所需的 jar 包,并将这些 jar 添加到 project 中,如图: hibernate.cfg.xml 的建立.hibernate 的 hibernate.cfg.xml 配置文件默认在 project/src 目录下,如图: hibernate.cfg.xml 中的内容如下(当然,这是从 hibernate 的参考文档中拷贝过来的,还未修改): <?xml version='1.0' encoding='utf-8'?>

Android下so注入汇总

/**  作者:蟑螂一号*  原文链接:http://www.sanwho.com/133.html*  转载请注明出处*/ Android下so注入是基于ptrace系统调用,因此要想学会android下的so注入,首先需要了解ptrace的用法. ptrace用法可以参考博客:http://blog.sina.com.cn/s/blog_4ac74e9a0100n7w1.html,也可以在ubuntu下输入man ptrace命令,查看具体描述. android中进程系统调用劫持可参考博客:

[DB][MyBatis]利用mybatis-paginator实现分页(目前看到MyBatis下最好的分页实现)

利用mybatis-paginator实现分页 1.mybatis-paginator简介 mybatis-paginator是gethub上的一个开源项目.用于java后台获取分页数据.该开源项目还提供一个列表组件(mmgrid)用于前端展示. 该开源项目地址:https://github.com/miemiedev 2.该开源项目的使用说明: Maven中加入依赖: <dependencies> ... <dependency> <groupId>com.githu

hibernate框架在eclipse下的配置方法(一)

一.ORM O:object 对象 R:Realtion 关系(关系型数据库) M:Mapping 映射 ORM:对象关系型映射 目前流行的编程语言,如Java.C# ,它们都是面向对象的编程语言,而目前主流的数据库产品例如Oracle.DB2等,依然是关系型数据库.编程语言和底层数据库发展的不协调(阻抗不匹配,例如数据库中无法直接实现存储继承.多态.封装等特征和行为),催生出了ORM框架.ORM框架可以作为面向对象语言和关系型数据库之间的桥梁. 二.Hibernate Hibernate是一个