通过hibernate访问postgreSQL的搭建过程

  1. 环境:win7,Intellij IDEA
  2. postgreSQL的安装:
    1. 安装包下载:https://www.postgresql.org/download/ 去官网下载postgresql-9.1.3-1-windows.exe(46M)
    2. 傻瓜式安装,跟着安装引导走,一路next,用户名默认为 postgres,密码*****,端口默认5432
    3. 启动服务,打开services.msc,如果postgre没有启动则手动启动
  3. postgreSQL客户的工具的安装:目前有多种客户工具,我用的是navicat for postgreSQL,去官网下载https://www.navicat.com/download/navicat-for-postgresql
    1. 解压压缩包,点击navicat.ext启动
    2. 双击连接->填写用户名,密码,端口,连接名,创建连接
    3. 右键点击连接名称,创建数据库
    4. 创建模式,(postgre的数据结构多了一层模式的结构,数据库>模式>表>字段),数据库创建时有默认的模式为public,右键数据库名,创建模式myschema
    5. 创建表,右键表,创建表,填写字段(user_id,username,password);
  4. 搭建hibernate环境:
    1. 用Intellij 新建javaWeb项目
    2. 引入jar包:
      1.   hibernate jar包 在pom.xml写依赖:
        <!--hibernate--> <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> <dependency>   <groupId>org.hibernate</groupId>   <artifactId>hibernate-core</artifactId>   <version>5.1.2.Final</version> </dependency>
      2. postgreSQL jdbc jar包引入   在pom.xml中写依赖:
        <dependency>   <groupId>postgresql</groupId>   <artifactId>postgresql</artifactId>   <version>9.1-901-1.jdbc4</version> </dependency>
    3. 配置hibernate配置文件,项目由maven管理,在resources目录下加入hibernate.cfg.xml文件,该配置文件主要记录了数据库的有户名,ip,密码,端口,所用jdbc驱动等信息内容如下:

      复制代码

      <?xml version='1.0' encoding='utf-8'?>
      <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "src/resource/schema/hibernate-configuration-3.0.dtd">
      
      <hibernate-configuration>
      
          <session-factory>
              <!-- Database connection settings -->
              <!-- Database connection settings -->
              <property name="connection.driver_class">
                  org.postgresql.Driver
              </property>
              <property name="connection.url">
                  jdbc:postgresql://10.21.132.19:5432/test
              </property>
              <property name="connection.username">postgres</property>
              <property name="connection.password">88075998</property>
      
      
              <!-- JDBC connection pool (use the built-in) -->
              <property name="connection.pool_size">1</property>
      
              <!-- SQL dialect -->
              <property name="dialect">
                  org.hibernate.dialect.PostgreSQLDialect
              </property>
      
              <!-- Enable Hibernate's automatic session context management -->
              <property name="current_session_context_class">thread</property>
      
              <!-- Disable the second-level cache  
              <property name="cache.provider_class">
                  org.hibernate.cache.internal.NoCacheProvider
              </property>-->
      
              <!-- Echo all executed SQL to stdout -->
              <property name="show_sql">false</property>
      
              <!-- Drop and re-create the database schema on startup -->
              <!-- <property name="hbm2ddl.auto">update</property> -->
      
              <!-- <mapping resource="com/hik/gss/sys/domain/User.hbm.xml" />-->
              
              <mapping class="model.User"></mapping>
          </session-factory>
      
      </hibernate-configuration>

      复制代码

       

  5. hibernate的查询语句,hibernate的操作有两种1.xml文件配置2.注解,这里用的是注解法,图个方便.
    1. 实体类的定义,如下:

      复制代码

      package model;
      
      import org.hibernate.annotations.GenericGenerator;
      
      import javax.persistence.*;
      
      @Entity
      @Table(name="public.user")
      public class User {
          private Integer userId;
          private String userName;
          private String passWord;
      
          @Id
          @GeneratedValue(generator="increment")
          @GenericGenerator(name="increment", strategy = "increment")
          @Column(name = "user_id")
          public Integer getUserId() {
              return userId;
          }
      
          public void setUserId(Integer userId) {
              this.userId = userId;
          }
      
          @Column(name = "username")
          public String getUserName() {
              return userName;
          }
      
          public void setUserName(String userName) {
              this.userName = userName;
          }
      
          @Column(name = "password")
          public String getPassWord() {
              return passWord;
          }
      
          public void setPassWord(String passWord) {
              this.passWord = passWord;
          }
      
      
      
      
      }

      复制代码


      注解说明:@Entity实体类标注,    @Table标注表名,注意表名前面要写模式名(public),被坑过.   @Id 表示主键   @Column列名  

    2. 查询数据库代码Demo:

      复制代码

              final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                      .configure()                 .build();
               SessionFactory sessionFactory = null;
              try {
                  sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
              } catch (Exception e) {
                  // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory
                  // so destroy it manually.
                  StandardServiceRegistryBuilder.destroy( registry );
              }
      
              Session session = sessionFactory.openSession();
              session.beginTransaction();
              List result = session.createQuery( "from model.User" ).list();
              for ( User user : (List<User>) result ) {
                  System.out.println( "User (" + user.getUserName() + ") : " + user.getPassWord() );
                  if (this.passWord.equals(user.getPassWord()) && this.userName.equals(user.getUserName())) {
                      return "SUCCESS";
                  }
              }
              session.getTransaction().commit();
              session.close();

      复制代码


      总结一下查询的步骤:

      1. 注册
      2. 创建会话工厂
      3. 会话工厂生产会话
      4. 创建查询语句
      5. 会话执行查询语句
      6. 获取结

转载自:https://www.cnblogs.com/XD-thinker/p/6722023.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
步骤如下: 1. 下载并安装PostgreSQL PostgreSQL官网提供了各种不同平台的安装包,可以根据自己的系统选择相应的版本进行下载和安装。安装过程中,需要设置管理员账户和密码等信息。 2. 配置环境变量 在安装完成后,需要将PostgreSQL的bin目录添加到系统的环境变量中,以便在命令行中能够直接访问PostgreSQL的命令。 3. 初始化数据库 在安装和配置完成后,需要初始化数据库,这样才能够使用PostgreSQL。可以在命令行中输入以下命令进行初始化: ``` initdb -D /data/postgresql/data ``` 其中,-D参数指定数据库的存储路径。 4. 启动PostgreSQL服务 在完成数据库初始化后,可以使用以下命令启动PostgreSQL服务: ``` pg_ctl start -D /data/postgresql/data ``` 其中,-D参数指定数据库的存储路径。 5. 创建用户 在启动服务后,可以使用以下命令创建用户: ``` createuser -U postgres -s username ``` 其中,-U参数指定使用postgres用户进行创建,-s参数指定创建超级用户,username为要创建的用户名。 6. 创建数据库 在创建用户后,可以使用以下命令创建数据库: ``` createdb -U username dbname ``` 其中,-U参数指定使用username用户进行创建,dbname为要创建的数据库名。 7. 使用数据库 在创建数据库后,可以使用以下命令连接到数据库: ``` psql -U username -d dbname ``` 其中,-U参数指定使用username用户进行连接,-d参数指定要连接的数据库名。 以上就是PostgreSQL搭建的步骤,需要注意的是,具体的命令和参数可能会因系统版本和安装包版本而有所不同,需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值