Hibernate (面向对象的数据库操作)

JPA,java persistance api,java持久层接口,即与数据库打交道的一些接口。实现交给各个厂商去实现。

ORM,Object/Relation Mapping,对象/关系数据库映射。面向对象的数据库操作,底层仍是sql语句。

获得hibernate的maven依赖。<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.3.10.Final</version></dependency><!–c3p0与mysql的依赖都需要–><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.31</version> </dependency> Hibernate是一个优秀的ORM实现。使用方法见下。配置文件名为hibernate.cfg.xml,一般放在src目录下。它使用c3p0作为数据库连接池。<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN"""><hibernate-configuration><!–表明以下的配置是针对session-factory配置的,SessionFactory是Hibernate中的一个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作 –><session-factory><property name="connection.driver_class">com.mysql.jdbc.Driver </property><property name="connection.url">jdbc:mysql://me.likeyichu.com:3306/AliyunDB</property><property name="Connection.useUnicode">true </property><property name="connection.characterEncoding">utf-8</property><property name="connection.username">root</property><property name="connection.password">密码</property><!– c3p0 –><property name="hibernate.c3p0.max_size">20</property><property name="hibernate.c3p0.min_size">1</property><property name="hibernate.c3p0.timeout">5000</property><property name="hibernate.c3p0.max_statements">100</property><property name="hibernate.c3p0.idle_test_period">3000</property><property name="hibernate.c3p0.validate">true</property><property name="hibernate.c3p0.acquire_increment">2</property><!–是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于查错,程序运行时可以在Eclipse的控制台显示Hibernate的执行Sql语句。项目部署后可以设置为false,,提高运行效率 –><property name="hibernate.show_sql">true </property><!–hibernate.dialect 只是Hibernate使用的数据库方言,就是要用Hibernate连接那种类型的数据库服务器。 –><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property><!–指定映射的类 –><mapping class="com.likeyichu.webservice.resource.me.Student" /></session-factory></hibernate-configuration>常用类@ javax.persistence.Entity表明这个类对应着数据库中某张表中的实体。@javax.persistence.Table该注解的name属性标明java类与哪张表相对应。@javax.persistence.Id标明这个字段是数据库表中的主键。@javax.persistence.Column该注解的name属性指定该字段与表中的哪一列相对应。默认是同名的相互匹配。@javax.persistence.Temporal数据库中时间类型比较多,赋值为TemporalType.TIMESTAMP表示时间戳。@javax.persistence.Transient当某个pojo的字段不在表中的时候,可以加上这个注释,避免错误。HQLorg.hibernate.SharedSessionContract.createQuery(String queryString)用给定的hql语句创建一个query。List org.hibernate.Query.list()将查询结果以list的形式返回。

代码示例

莫找借口失败,只找理由成功。(不为失败找理由,要为成功找方法

Hibernate (面向对象的数据库操作)

相关文章:

你感兴趣的文章:

标签云: