zoukankan      html  css  js  c++  java
  • 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 }


  • 相关阅读:
    AJAX跨域问题解决方法(3)——被调用方解决跨域
    AJAX跨域问题解决方法(2)——JSONP解决跨域
    AJAX跨域问题解决方法(1)——禁止浏览器进行跨域限制
    AJAX跨域问题解决思路
    产生AJAX跨域问题的原因
    WebStorm配置Vue开发环境
    (2012年旧文)纪念史蒂夫乔布斯---IT界的普罗米修斯
    嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导
    嵌入式平台使用gtest进行白盒测试
    【转】Python中执行cmd的三种方式
  • 原文地址:https://www.cnblogs.com/xiaostudy/p/9513338.html
Copyright © 2011-2022 走看看