码迷,mamicode.com
首页 > Web开发 > 详细

hibernate——第一次简单的使用

时间:2018-08-21 19:43:40      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:1.0   ilo   class   测试   必须   actor   字段   aos   native   

提前有jdk、mysql、hibernate必须jar包、mysql连接jar包

技术分享图片

 

mysql中的表

技术分享图片

Java中的bean,User类

 1 package com.xiaostudy.demo;
 2 
 3 public class User {
 4 
 5     private int id;
 6     private String username;
 7     private String password;
 8 
 9     public int getId() {
10         return id;
11     }
12 
13     public void setId(int id) {
14         this.id = id;
15     }
16 
17     public String getUsername() {
18         return username;
19     }
20 
21     public void setUsername(String username) {
22         this.username = username;
23     }
24 
25     public String getPassword() {
26         return password;
27     }
28 
29     public void setPassword(String password) {
30         this.password = password;
31     }
32 
33 }

JavaBean的对应xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC 
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 5     
 6     <!-- 导入bean所在的包路径 -->
 7 <hibernate-mapping package="com.xiaostudy.demo">
 8     <!-- 把bean中的类名和mysql中的表名对应 -->
 9     <class name="User" table="user">
10         <!-- bean中id和mysql中主键对应 -->
11         <id name="id" column="id">
12             <!-- generator:主键生成策略
13                      1.increment  数据库自己生成主键. 先从数据库中查询最大的ID值,将ID值加1作为新的主键
14                     2.identity  依赖于数据的主键自增功能
15                     3.sequence    序列,依赖于数据中的序列功能(Oracle).
16                     4.hilo(纯了解,永远用不到) : Hibernate自己实现序列的算法,自己生成主键. (hilo算法 )
17                     5.native 自动根据数据库判断,三选一. identity|sequence|hilo
18                     6.uuid  生成32位的不重复随机字符串当做主键
19                     7.assigned 自己指定主键值. 表的主键是自然主键时使用.
20                  
21              -->
22             <generator class="native"></generator>
23         </id>
24         <!-- bean中的属性和mysql中的字段对应 -->
25         <property name="username" column="username"></property>
26         <property name="password" column="password"></property>
27     </class>
28 </hibernate-mapping>

hibernate的xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC 
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 5     
 6     <!-- 导入bean所在的包路径 -->
 7 <hibernate-mapping package="com.xiaostudy.demo">
 8     <!-- 把bean中的类名和mysql中的表名对应 -->
 9     <class name="User" table="user">
10         <!-- bean中id和mysql中主键对应 -->
11         <id name="id" column="id">
12             <!-- generator:主键生成策略
13                      1.increment  数据库自己生成主键. 先从数据库中查询最大的ID值,将ID值加1作为新的主键
14                     2.identity  依赖于数据的主键自增功能
15                     3.sequence    序列,依赖于数据中的序列功能(Oracle).
16                     4.hilo(纯了解,永远用不到) : Hibernate自己实现序列的算法,自己生成主键. (hilo算法 )
17                     5.native 自动根据数据库判断,三选一. identity|sequence|hilo
18                     6.uuid  生成32位的不重复随机字符串当做主键
19                     7.assigned 自己指定主键值. 表的主键是自然主键时使用.
20                  
21              -->
22             <generator class="native"></generator>
23         </id>
24         <!-- bean中的属性和mysql中的字段对应 -->
25         <property name="username" column="username"></property>
26         <property name="password" column="password"></property>
27     </class>
28 </hibernate-mapping>

测试Java类

 1 package com.xiaostudy.demo;
 2 
 3 import org.hibernate.SessionFactory;
 4 import org.hibernate.cfg.Configuration;
 5 import org.hibernate.classic.Session;
 6 
 7 public class Test1 {
 8 
 9     public static void main(String[] args) {
10         //加载hibernate.cfg.xml文件,前提是默认放在src目录下
11         Configuration conf = new Configuration().configure();
12         //根据配置,创建Factory
13         SessionFactory sf = conf.buildSessionFactory();
14         //通过SessionFactory来获取Session,
15         //getCurrentSession()方法是,获取当前的Session,一般在事务中使用
16         //但是需要在hibernate.cfg.xml中配置才可以使用
17         //<property name="current_session_context.class">thread</property>
18         Session session = sf.getCurrentSession();
19         User user = new User();
20         user.setUsername("demo3");
21         user.setPassword("123456");
22         session.save(user);
23         //关闭资源
24         session.close();
25         sf.close();
26     }
27 
28 }

 

技术分享图片


 

hibernate——第一次简单的使用

标签:1.0   ilo   class   测试   必须   actor   字段   aos   native   

原文地址:https://www.cnblogs.com/xiaostudy/p/9513338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!