maven构建hibernate框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012359498/article/details/42062133

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">推荐maven中央仓库路径</span>

maven repository: http://www.mvnrepository.com/

1.新建maven project


2.建立动态web项目


3.填写基本项目信息完成


建完之后会出现这种情况,是因为没有载入httpservlet,填写pom.xml配置文件,给项目配置httpservlet

<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
复制到配置文件中,就没问题了。

网上搜寻hibernate的核心包就行

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>4.3.7.Final</version>
</dependency>
</pre><p>mysql连接驱动</p><p><img src="" alt="" /></p><p></p><pre name="code" class="html"><dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.34</version>
</dependency>


你的libraries里会自动多出从中央仓库里下载下来的jar包

接下来就是配置hibernate了

简单的简历Servlet post简单输出

import java.io.IOException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import cn.sample.bean.User;
import cn.sample.test.Test;


/**
 * Servlet implementation class MyServlet
 */
public class MyServlet extends HttpServlet {
<span style="white-space:pre">	</span>private static final long serialVersionUID = 1L;


<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * @see HttpServlet#HttpServlet()
<span style="white-space:pre">	</span> */
<span style="white-space:pre">	</span>public MyServlet() {
<span style="white-space:pre">		</span>super();
<span style="white-space:pre">		</span>// TODO Auto-generated constructor stub
<span style="white-space:pre">	</span>}


<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
<span style="white-space:pre">	</span> *      response)
<span style="white-space:pre">	</span> */
<span style="white-space:pre">	</span>protected void doGet(HttpServletRequest request,
<span style="white-space:pre">			</span>HttpServletResponse response) throws ServletException, IOException {
<span style="white-space:pre">		</span>// TODO Auto-generated method stub
<span style="white-space:pre">	</span>}


<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
<span style="white-space:pre">	</span> *      response)
<span style="white-space:pre">	</span> */
<span style="white-space:pre">	</span>protected void doPost(HttpServletRequest request,
<span style="white-space:pre">			</span>HttpServletResponse response) throws ServletException, IOException {
<span style="white-space:pre">		</span>// TODO Auto-generated method stub
<span style="white-space:pre">		</span>response.setContentType("text/html");
<span style="white-space:pre">		</span>request.setCharacterEncoding("utf-8");
<span style="white-space:pre">		</span>response.setCharacterEncoding("utf-8");
<span style="white-space:pre">		</span>System.out.println("doPost-----------------");
<span style="white-space:pre">		</span>User user = new User();
<span style="white-space:pre">		</span>user.setName("bbb");
<span style="white-space:pre">		</span>user.setAge(11);
<span style="white-space:pre">		</span>Test.savaBean(user);
<span style="white-space:pre">	</span>}


}
<html>
<body>
	<h2>Hello World!</h2>

	<form action="MyServlet" method="post">
		<input type="submit" value="POST">
	</form>

</body>
</html>
控制台能够打印输出


创建javabean文件

import java.io.Serializable;

public class User implements Serializable {
private int _id;
private String name;
	private int age;

	public int get_id() {
		return _id;
	}

	public void set_id(int _id) {
		this._id = _id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}
然后创建user的hibernate配置文件 User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-8-25 16:11:25 by Hibernate Tools 3.4.0.CR1 -->
<!-- 持久化映射文件,将java对象映射到数据库表 -->
<hibernate-mapping>
<span style="white-space:pre">	</span><class name="cn.sample.bean.User" table="t_user"><!-- 数据库表名 -->
<span style="white-space:pre">		</span><id name="_id" type="int" column="_id">
<span style="white-space:pre">			</span><generator class="native" /><!-- 自动增长 -->
<span style="white-space:pre">		</span></id>
<span style="white-space:pre">		</span><property name="name" type="string" column="name" />
<span style="white-space:pre">		</span><property name="age" type="int" column="age" />


<span style="white-space:pre">	</span></class>
</hibernate-mapping>

接下来配置hibernate的配置文件映射javabean对象

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!--声明Hibernate配置文件的开始 -->
<hibernate-configuration>
	<!--表明以下的配置是针对session-factory配置的,SessionFactory是Hibernate中的一个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作 -->
	<session-factory>
		<!--配置数据库的驱动程序,Hibernate在连接数据库时,需要用到数据库的驱动程序 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<!--设置数据库的连接url:jdbc:mysql://localhost/hibernate,其中localhost表示mysql服务器名称,此处为本机, 
			hibernate是数据库名 -->
		<property name="hibernate.connection.url">
			jdbc:mysql://localhost:3307/demo?useUnicode=true&characterEncoding=UTF-8</property>
		<!--连接数据库是用户名 -->
		<property name="hibernate.connection.username">root</property>
		<!--连接数据库是密码 -->
		<property name="hibernate.connection.password">123456</property>
		<!--数据库连接池的大小 -->
		<property name="hibernate.connection.pool_size">20</property>

		<!-- SQL dialect -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<!--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,Fetch 
			Size越小,读数据库的次数越多,速度越慢 -->
		<property name="jdbc.fetch_size">50</property>
		<!-- Enable Hibernate's automatic session context management -->
		<property name="hibernate.current_session_context_class">thread</property>

		<!-- Disable the second-level cache -->
		<property name="hibernate.cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
		<!--以格式良好的方式显示SQL语句 -->
		<property name="hibernate.format_sql">true</property>
		<!--是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于差错,程序运行时可以在Eclipse的控制台显示Hibernate的执行Sql语句。项目部署后可以设置为false,提高运行效率 -->
		<property name="hibernate.show_sql">true</property>

		<!-- Drop and re-create the database schema on startup -->
		<property name="hibernate.hbm2ddl.auto">update</property>

		<mapping resource="cn\sample\bean\User.hbm.xml" />
		<!-- <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/> -->


	</session-factory>
</hibernate-configuration>

HibernateSessionFactory.java

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateSessionFactory {
	private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
	private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
	private static Configuration configuration = new Configuration();
	private static SessionFactory sessionFactory;
	private static String configFile = CONFIG_FILE_LOCATION;
	static {
		sessionFactory = configuration.configure(configFile)
				.buildSessionFactory();
	}

	private HibernateSessionFactory() {

	}

	public static Session getSession() {
		Session session = threadLocal.get();
		if (session == null || !session.isOpen()) {
			session = (sessionFactory != null) ? sessionFactory.openSession()
					: null;
			threadLocal.set(session);
		}
		return session;
	}
}
Test.java

import cn.sample.utils.HibernateSessionFactory;

public class Test {
	public static void savaBean(User user) {
		Session session = null;
		Transaction t = null;
		session = HibernateSessionFactory.getSession();
		try {
			t = session.beginTransaction();
			session.save(user);
			t.commit();
		} catch (Exception e) {
			t.rollback();
			e.printStackTrace();
		} finally {
			session.close();
		}
	}

	public static void main(String[] args) {
		User user = new User();
		user.setName("aaa");
		user.setAge(12);
		savaBean(user);
	}

}

附上源码

点击打开链接

猜你喜欢

转载自blog.csdn.net/u012359498/article/details/42062133