hibernate访问postgreSQL的搭建过程
来源:互联网 发布:环球数码 知乎 编辑:程序博客网 时间:2024/06/05 02:58
1. postgreSQL的安装:
安装包下载:https://www.postgresql.org/download/ 官网下载postgresql-9.1.3-1-windows.exe(46M);
傻瓜式安装,跟着安装引导走,一路next,用户名默认为 postgres,密码*,端口默认5432
启动服务,打开services.msc,如果postgre没有启动则手动启动;
2. postgreSQL客户端的工具的安装
1 Navicat Premium 12 和pgAdmin 4;
navicat,去官网下载https://www.navicat.com/download
pgAdmin 4,去官网下载https://www.pgadmin.org/download/
2 安装
3 双击连接->填写用户名,密码,端口,连接名,创建连接
4 右键点击连接名称,创建数据库
5 创建模式,(postgre的数据结构多了一层模式的结构,数据库>模式>表>字段),数据库创建时有默认的模式为public,右键数据库名,创建模式myschema
6 创建表,右键表,创建表,填写字段(user_id,username,password);
3. 搭建hibernate环境:
1 用eclipse新建javaWeb项目
2 引入jar包:
hibernate jar包 在pom.xml写依赖:
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.0.1.Final</version> </dependency> <!-- postgresql依赖包 --> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1201-jdbc41</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 --> <property name="connection.driver_class">org.postgresql.Driver</property> <property name="connection.url"> jdbc:postgresql://10.21.132.19:5432/mydatabase </property> <property name="connection.username">chen</property> <property name="connection.password">root123</property> <!-- JDBC connection pool (use the built-in) --> <!-- <property name="connection.pool_size">1</property> --> <property name="c3p0.driver_class">org.postgresql.Driver</property> <property name="hibernate.c3p0.acquire_increment">1</property> <property name="hibernate.c3p0.validate">true</property> <property name="hibernate.c3p0.idle_test_period">20</property> <!-- seconds --> <property name="hibernate.c3p0.max_size">5</property> <property name="hibernate.c3p0.max_statements">100</property> <property name="hibernate.c3p0.min_size">2</property> <property name="hibernate.c3p0.timeout">90</property> <!-- seconds --> <!-- SQL dialect --> <property name="hibernate.dialect"> org.hibernate.spatial.dialect.postgis.PostgisDialect </property> <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="cn.sibat.template.model.User"></mapping> </session-factory></hibernate-configuration>
4 hibernate的实体类映射。
1 hibernate的操作有两种1.xml文件配置2.注解,这里用的是注解法,图个方便.
实体类的定义,如下:
package cn.sibat.template.model;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 获取结果
- hibernate访问postgreSQL的搭建过程
- 搭建Oracle dblink访问PostgreSQL
- PostgreSQL的JDBC访问
- 搭建Hibernate过程中常见的错误
- PostgreSQL的存储过程
- struts2 hibernate搭建过程
- hibernate 搭建过程
- 在Ubuntu Server 12.04 LTS上搭建可远程访问的PostgreSQL 9.1环境
- 最近在研究postgresql的主从集群。记录一下搭建过程
- PostgreSQL的存储过程初探
- 一个完整的Spring+Hibernate+FreeMarker系统搭建过程
- 一个完整的Spring+Hibernate+FreeMarker系统搭建过程
- postgresql 跨库访问外部表 存储过程
- PostGresql组件部署和Oracle访问PostGresql的dblink配置
- postgresql搭建
- PostgreSql 数据库的访问权限配置
- 用wxWidgets编写访问PostgreSQL的示例
- Hibernate的访问类型
- SpringMVC RequestParam与PathVariable小结
- Android中使用百度地图无法将地图移动到当前位置的问题
- 组合和继承
- UGUI_UI的深度学习
- 从零开始springBoot
- hibernate访问postgreSQL的搭建过程
- 【C#学习】接口 Interface
- 关于烂代码的那些事 ( 下 )
- sql练习题
- UGUI_UI子节点在Canvas的2D坐标
- SQL注入
- Java:集合框架(三)Set详解及代码示例
- 自适应阈值分割—大津法(OTSU算法)C++实现
- BZOJ1264: [AHOI2006]基因匹配Match