Hibernate——创建Hibernate项目
来源:互联网 发布:越南语发音翻译软件 编辑:程序博客网 时间:2024/06/11 00:04
1、基本使用
1.1引用jar包(因为它不是sun公司的)
hibernate官网下载(点击打开链接),下载时注意版本,不同版本之间可能存在功能不一样的区别
记得数据库驱动jar包
1.2全局配置文件:hibernate.cfg.xml
在java Resources下面创建一个资源文件(右击项目——》source Folder),新建全局配置文件(右击新创建的资源文件——》new——》other——》file——》hibernate.cfg.xml)
它在创建的时候,需要手动创建数据库,所以需要你在写之前先去创建一个数据库
找到方言包(Libraries——》hibernate-core-版本信息——》org.hibernate.dialect——》找对应的方言包)方言决定数据库引擎,数据库引擎决定数据库效率,方言的选择,根据其数据库版本决定
<?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><!-- 具体的配置信息: 四本一言 四大基本项:驱动、url、用户名、密码 一大方言:为什么需要方言?因为不同的数据库,sql语句不一样,需要用方言来标记区分 要根据数据库版本进行选择 --><session-factory> <!-- 1、驱动类名全称 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 2、数据库的url --><property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_day1?characterEncoding=UTF-8</property><!-- 3、用户名 --><property name="hibernate.connection.username">root</property><!-- 4、密码 --><property name="hibernate.connection.password">123</property><!-- 5、方言 --><property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property><!-- 标记ddl的操作方式:create:每次都是新建 update:只要表结构没有发生变化,就不会新建,一般实用这种 create-drop: --><property name="hibernate.hbm2ddl.auto">update</property><!-- 显示自动生成的sql语句 --><property name="hibernate.show_sql">true</property><!-- 格式化sql语句 --><property name="hibernate.format_sql">true</property></session-factory></hibernate-configuration>
1.3 写出映射类——数据库的表对应的类
package com.tf.domain;import java.util.Date;/** * @author tf* @time 2017年11月8日* @version 1.0* 备注:用户表,映射类代表的是数据库的表* 注意:get和set的写法要标准,命名要规范* 命名规则:必须遵守,写错了就会报错* 命名规范:约束,习惯*/public class User {private int id;private String username;private String password;private Date time;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getTime() {return time;}public void setTime(Date time) {this.time = time;}public User() {super();}}
1.4 写出映射文件:类名.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 2017-11-8 15:54:09 by Hibernate Tools 3.5.0.Final --><!-- hibernate的映射文件的配置 --><hibernate-mapping><!--当前的类的设置package:包,当前类所在的包name:当前的类名table:表名 --> <class name="com.tf.domain.User" table="tb_user"> <!-- 主键的标记 name:属性名称 column:字段名称,如果省略表示属性和字段名称一样 --> <id name="id" type="int" column="id"> <!-- 主键生成策略 常用属性 class:标记主键的生成方式 取值: 1、native:移植性较好 ,可以根据数据库的类型自动选择 2、assigned:自定义主键值 3、uuid:随机主键 4、foreign:外键 5、identity:自增,MySQL 6、sequence:自增,Oracle 7、increment:手动自增,每次新增都查询最大的主键值,加1,但是不安全 --> <generator class="native" /> </id> <!-- 联合主键,有多个就写多少个 --> <!-- <composite-id></composite-id> --> <!-- 属性的设置 name:属性名称 cloumn:字段名称,如果省略表示属性和字段名称一样 length: 数据库的表的字段的长度,字符串类型长度默认255 type:属性的数据库类型,可以省略--> <property name="username" type="java.lang.String"/> <property name="password" type="java.lang.String"/> <property name="time" type="java.util.Date"/> </class></hibernate-mapping>
1.5 将映射文件添加到全局配置中<?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><!-- 具体的配置信息: 四本一言 四大基本项:驱动、url、用户名、密码 一大方言:为什么需要方言?因为不同的数据库,sql语句不一样,需要用方言来标记区分 要根据数据库版本进行选择 --><session-factory> <!-- 1、驱动类名全称 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 2、数据库的url --><property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_day1?characterEncoding=UTF-8</property><!-- 3、用户名 --><property name="hibernate.connection.username">root</property><!-- 4、密码 --><property name="hibernate.connection.password">123</property><!-- 5、方言 --><property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property><!-- 标记ddl的操作方式:create:每次都是新建 update:只要表结构没有发生变化,就不会新建,一般实用这种 create-drop: --><property name="hibernate.hbm2ddl.auto">update</property><!-- 显示自动生成的sql语句 --><property name="hibernate.show_sql">true</property><!-- 格式化sql语句 --><property name="hibernate.format_sql">true</property><!-- 映射文件的配置:可以有多个 --><mapping resource="com/tf/domain/User.hbm.xml"/> </session-factory></hibernate-configuration>1.6 使用hibernate(使用单元测试)实现对象——》数据的存储package com.tf.test;import java.util.Calendar;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.junit.Test;import com.tf.domain.User;/** * @author tf * @time 2017年11月8日 * @version 1.0 备注:测试类, hibernate的使用 注意: */public class MyTest {// Hibernate的基本使用@Testpublic void test1() {// 1、创建配置对象Configuration config = new Configuration().configure();// 2、创建Session工厂对象SessionFactory factory = config.buildSessionFactory();// 3、获取Session对象Session session = factory.openSession();// 4、操作数据库User user = new User();user.setPassword("123");user.setUsername("tf");user.setTime(Calendar.getInstance().getTime());// 返回的值是主键值System.out.println("保存" + session.save(user));// 5、关闭session.close();}}右击——》Run As ——》JUnit Test
此时,可以查看数据库
阅读全文
0 0
- Hibernate——创建Hibernate项目
- hibernate项目的创建
- Hibernate学习笔记(二)——创建一个简单的Hibernate项目
- Hibernate学习笔记(一)—— 使用maven创建Hibernate项目
- 用Maven创建Hibernate项目
- 创建简单hibernate项目步骤
- 创建Hibernate项目的步骤
- Hibernate——建立第一个hibernate项目
- Hibernate学习过程-1-创建第一个Hibernate-CURD项目
- 【java】——Hibernate代码创建表
- eclipse+maven+Hibernate创建JavaWeb项目
- 用Maven创建Hibernate项目(oracle)
- Maven创建Struts2 + Spring + Hibernate项目
- MyEclipse的可视化创建Hibernate项目
- Idea中使用Maven创建Hibernate项目
- 在Eclipse中创建简单Hibernate项目
- maven项目中hibernate创建步骤
- 项目——Hibernate常见异常
- openmpi 2.1.1 RoCE 支持
- http://www.cnblogs.com/mengdd/p/4153773.html
- 框架中的抽象类及接口应用
- java.io.StreamCorruptedException: invalid stream header: 异常
- module 'nninit' not found:No LuaRocks module found for nninit
- Hibernate——创建Hibernate项目
- Centos6.5安装Tomcat
- 用两个栈实现队列
- 浅析Spring事务传播行为和隔离级别
- 在IIS7或IIS7.5中导入导出站点及应用程序池(附:重新注册.net 4.0 )
- UVA 10457 Magic Car——最小瓶颈路
- SQL语句百万数据量优化方案
- Oracle中的常用命令
- [JavaScript]ECMA-262-3 深入解析.第三章.作用域链