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); } }
附上源码
点击打开链接
相关文章推荐
- 如何在struts+spring+hibernate的框架下构建低耦合高内聚的软件
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(2)
- 基于maven的多框架和多视图融合技术(Struts1、Struts2、Spring、SpringMVC、Hibernate、Ibatis、MyBatis、Spring Data JPA、DWR)
- Maven学习(六)- 构建Hibernate项目
- 项目总结--maven+springsecurity+solr+springmvc+hibernate 延迟加载处理+hibernate sql对象处理(sql执行插入)+spring注解方式+邮件 + JNDI+项目框架写法+jasperreprot的简单应用
- 如何在struts+spring+hibernate的框架下构建低耦合高内聚的软件
- Maven的学习资料收集--(六) 构建Hibernate项目
- 步步为营Hibernate全攻略(一)构建Hibernate框架环境
- 用Maven如何构建一个基于Hibernate Annotation的web项目?
- maven管理ssi框架整合构建开发基本架构-来源实践高于实践
- 如何在struts+spring+hibernate的框架下构建低耦合高内聚的软件
- 手把手构建Maven企业级应用(整合SSI框架)《2》
- 使用Maven项目的appfuse插件构建 Struts2.0+Spring2.0+Hibernate项目
- Maven学习(六)- 构建Hibernate项目
- 手把手构建Maven企业级应用(整合SSI框架)
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(1)
- 如何在struts+spring+hibernate的框架下构建低耦合高内聚的软件
- 手把手构建Maven企业级应用(整合SSI框架)《2》
- 使用maven构建hibernate
- Maven的学习资料收集--(六 构建Hibernate项目