hibernate5.0.12数据持久化框架使用第一例
来源:互联网 发布:小黑裙香水淘宝 编辑:程序博客网 时间:2024/05/18 07:08
下载hibernate发行版。下载到指定目录下面。
eclipse离线安装
在线安装时mars版本的eclipse路径http://download.jboss.org/jbosstools/updates/stable/mars/
kepler版本的只要把路径最后mars单词替换就可以了。教程。
然后新建第一个java工程做mysql的连接,使用hibernate框架。
第0步:
准备mysql 驱动包:mysql-connector-java-5.1.40-bin.jar
hibernate必须包含的驱动包。%hibernate安装路径%\lib\required下面的所有jar包。
为了以后好引用,可以在Preferences -> Java -> Build Path -> User Libraries 添加常用的用户库。比如mysql,junit4,hibernate库这些。
前提:使用的是hibernate5.0.12,mysql 5.1.73 版本。
第一步:
新建hibernate的基本配置文件:
<?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-configuration> <session-factory> <!-- 编写一些数据库连接的基本属性信息 数据库 user password ,Driver Class 类这些信息 --> <!-- 配置连接数据库的基本信息 --> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">1557862201</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property> <!-- 设置数据库的 使用语言 ,hibernate使用的方言 --> <!-- 使用支持事务的方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- 执行sql时候是否在控制台打印sql true 那么在执行sql时候会在console中输出 --> <property name="hibernate.show_sql">true</property> <!-- 是否对 SQL 格式化 就是说在输出sql时候又缩进,换行这些格式化的东西,便于观看。 --> <property name="hibernate.format_sql">true</property> <!-- 指定自动生成数据表的策略 update是比较安全的选项,它根据model类 如果没有对应的表格会自动建立起相应的表格,下次再次使用将沿用以前的表格。create选项是每次都是删除以前的表再次创建新表所以会丢失数据 --> <property name="hibernate.hbm2ddl.auto">update</property> <!-- 将对象 表格映射文件配置到这里 指定关联的 .hbm.xml 文件 --> <mapping resource="hibernate/News.hbm.xml"/> </session-factory></hibernate-configuration>
第二步: 新建mysql中表对于java中的实体类JavaBean.
package hibernate;import java.sql.Date;/** * 对象实体类,javabean类 * * @author PengRong * */public class News { private Integer id; private String title; private String author; private Date date; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } @Override public String toString() { return "News [id=" + id + ", title=" + title + ", author=" + author + ", date=" + date + "]"; } public News(String title, String author, Date date) { super(); this.title = title; this.author = author; this.date = date; } public News() { super(); }}
第三步:自动生成表格,对象映射文件,并将这个文件配置到hibernate基本配置文件中
<?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 2017-2-20 13:01:33 by Hibernate Tools 3.5.0.Final --><!-- 设置根据javabean自动生成的 --><hibernate-mapping> <class name="hibernate.News" table="NEWS"> <id name="id" type="java.lang.Integer"> <column name="ID" /> <!-- 指定使用数据本地的数据,assigned 改成 native ;id涉及到主键 --> <generator class="native" /> </id> <property name="title" type="java.lang.String"> <column name="TITLE" /> </property> <property name="author" type="java.lang.String"> <column name="AUTHOR" /> </property> <property name="date" type="java.sql.Date"> <column name="DATE" /> </property> </class></hibernate-mapping>
第四步: 通过hibernate API访问数据库,实现增删改查操作。
这里是对hibernate进行一个简单的测试,在数据库不存在表格的情况下进行插入一条数据记录。
package hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.junit.Test;public class HibernateTest { @Test public void test() throws Exception { // 1、 创建一个SessionFactory对象 SessionFactory sessionFactory = null; // 1.1 Configuration configuration = new Configuration().configure(); // 4.0之前创建SessionFactory // sessionFactory=configuration.buildSessionFactory(); // hibernate任何配置和服务都需要在该对象中注册才有效 // 1.2、服务注册对象 StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); // 2、 创建一个Session对象: 对应hibernate的基本配置信息和对象关系映射模型 Session s = sessionFactory.openSession(); // 3、开启一个事务 Transaction transaction = s.beginTransaction(); News news = new News("数学", "范剑", new java.sql.Date(new java.util.Date().getTime())); // 4、执行保存事务操作 s.save(news); // 5、提交事务 transaction.commit(); // 6、关闭session s.close(); // 7、关闭SessionFactory sessionFactory.close(); }}
hibernate–HelloWorld第一例
0 0
- hibernate5.0.12数据持久化框架使用第一例
- hibernate5--2.数据持久化及事务
- 数据持久化框架(JPA)
- ormlite安卓数据持久化框架的使用
- ibatis持久化框架使用
- SSH框架-HIbernate之数据持久化
- iOS开发 - CoreData框架 数据持久化
- iOS开发 - CoreData框架 数据持久化
- 数据持久层框架
- 第一个hibernate5.1.0--向数据库中插入一条数据
- EF-EntityFrameWork中文名:实体框架(数据持久化框架)
- ios数据本地持久化 之 使用文件持久化
- 数据持久层框架Hibernate
- 使用JDBC对象持久化数据对象
- Core Data数据持久化的使用
- 数据持久化之sharedpreference的使用
- iOS数据持久化 NSUserDefaults的使用
- IOS 使用Archive持久化数据
- 大整数排序
- 第一讲:ANSYS入门基础之GUI
- java 记错--继承
- ZeroMQ初探
- Java中私有构造器的作用
- hibernate5.0.12数据持久化框架使用第一例
- 安卓开发之使用Mob的短信接收验证码达到忘记密码找回密码功能*(自绘界面)
- oracle 表约束的添加、修改以及约束的禁用启用
- 206. Reverse Linked List
- springmvc局部异常
- python布尔类型关于and和or用法说明马克
- eclipse中配置的tomcat 启动正常 但是访问报404错误
- 扒一扒Xcode中的编译标识: -Werror= -Wunused-variable
- Xcode8真机调试测试NSLog不输出日志