您的位置:首页 > 其它

maven构建hibernate框架

2014-12-21 18:22 344 查看
<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);
}

}


附上源码

点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐