提前有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——第一次简单的使用
原文地址:https://www.cnblogs.com/xiaostudy/p/9513338.html
时间: 2024-11-02 22:24:49