hibernate——第一次简单的使用

提前有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-configuration PUBLIC
 3     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 5 
 6 <hibernate-configuration>
 7     <session-factory>
 8         <!-- 注册驱动 -->
 9         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
10         <!-- mysql的用户名 -->
11         <property name="connection.username">root</property>
12         <!-- mysql的用户密码 -->
13         <property name="connection.password">123456</property>
14         <!-- 连接mysql的某库 -->
15         <property name="connection.url">jdbc:mysql://localhost:3306/user</property>
16         <!-- 控制台输出sql -->
17         <property name="show_sql">true</property>
18         <!-- 格式化输出的sql -->
19         <property name="format_sql">true</property>
20         <!-- 自动提交事务 -->
21         <property name="connection.autocommit">true</property>
22         <!-- 导入映射文件 -->
23         <mapping resource="com/xiaostudy/demo/User.hbm.xml"/>
24     </session-factory>
25 </hibernate-configuration>

 

测试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 }

 


 

全部评论

相关推荐

行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务