自学java之hibernate安装及配置
来源:互联网 发布:闪电下单软件 编辑:程序博客网 时间:2024/06/15 06:32
一、eclipse创建一个java web工程
new->other->web->Dynamic web project
二、加入hibernate核心jar包
1.进入hibernate的官网下载最新hibernate版本,解压之后dist/lib目录下的required是必须的核心jar包,而provided的文件也需要的,第一次我没有导入provided里的jar包,程序报错,导入之后才正常工作。
2.解压之后,右键web项目选址build path->configure build path->Libraries->Add Library->User Library->New->输入名称->ok
3.选择新建的library->add external jars->选址解压之后的required和provided目录下的所有jar包->ok
4.Libraried->add External jars->mysql-connector-java-5.1.9.jar(需要自行网上下载)
所有必须jar包导入完毕之后,点击ok,现在开始写测试代码。
三、建立测试代码
1.如果不是web工程,就是在src下面建立一个测试包,我建立的测试工程是一个web工程,所以在java resources下面的src建立一个测试包,比如com.hibernate。
2.在com.hibernate里面建立两个java文件,一个MainTest.java,一个Teacher.java。
MainTest:
package com.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class MainTest {public static void main(String[] args) {Teacher teacher = new Teacher();//新建我们需要存储的类对象,并且设置其对象的一些属性// teacher.setId(1); teacher.setName("Himi"); teacher.setPassword("234"); //Configuration主要用以读取配置文件 Configuration cfg = new Configuration(); SessionFactory sf = cfg.configure().buildSessionFactory(); //这里注意了,cfg.configure()读取配置文件的时候,如果你的hibernate的文件名不采用默认的“hibernate.cfg.xml”的话,那么这里传入你定义的配置文件路径 //buildSessionFactory();得到一个创建Session的工场 Session ss = sf.openSession();//这里的Session导入import org.hibernate.Session;不要使用class经典的,因为可能会过时 ss.beginTransaction();//OK,将操作放入事务中 ss.save(teacher);//保存你的对象 ss.getTransaction().commit();//得到事务并提交 ss.close();//Session关闭 sf.close();//工厂关闭}}Teacher.java:
package com.hibernate;public class Teacher {private int id;private String name;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
3.在Teacher.java同级目录建立一个数据库配置文件,Teacher.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hibernate"><!-- 路径 --> <class name="Teacher"> <!-- 映射的类名 --> <id name ="id"/> <!-- 映射的数据库primary key --> <!-- 下面都是映射我们的其他属性,如果你的数据库中的字段名相同则使用以下形式--> <property name="name"/> <property name="password"/> <!--如果你的数据库中的字段名不相同则使用以下形式,例如:class 中 name, 数据库为 _name 那么书写形式如下: <property name="name" column="_name" /> --> </class></hibernate-mapping>
4.在src下建立一个hibernate的配置文件hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings 数据库的配置 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/test</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- JDBC connection pool (use the built-in) hibernate自带连接池,暂不使用 --> <!-- <property name="connection.pool_size">1</property> --> <!-- SQL dialect 数据库方言,这里我们才爱用MySQL--> <property name="dialect">org.hibernate.dialect.MySQLDialect</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.NoCacheProvider</property> <!-- Echo all executed SQL to stdout 设置show_sql为true表示让hibernate将生成sql语句在控制台打印出来 --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup 是否让hibernate自动为我们创建表 --> <!-- <property name="hbm2ddl.auto">update</property> --> <mapping resource="com/hibernate/Teacher.hbm.xml"/> <!-- 这里是将需要mapping的文件进行再次声明 --> </session-factory> </hibernate-configuration>
四、数据库建立测试表
第三步我只用的是test数据库下面的teacher表,
CREATE TABLE `teacher` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;由于id设置为自增长,所以在MainTest.java里面,我把teacher.setId(1)注释了,如果没有设置为自增长,则需要设置一个id。
五、右键MainTest.java选址run as->java application运行项目
- 自学java之hibernate安装及配置
- JAVA自学之路1-JDK安装及配置
- 自学java hibernate基本配置
- pl/sql 自学软件安装及配置
- 自学php之YAF!第一步,安装配置.
- Java自学笔记之Hibernate-常用的hibernate注解
- centos7自学之4-solr6.6搜索服务器安装及IK分词器配置
- Hibernate之自学hql
- PHP自学之路---报表及绘图技术(jpgraph库使用,Linux安装及配置说明)
- 自学java之hibernate操作数据库的增删查改
- Java安装及配置
- java安装及配置
- java 安装及配置
- Eclipse、Hibernate、mysql安装配置及例子
- centos7自学之7-rabbitmq的安装与配置
- 自学java hibernate简单使用
- Java web 之 Tomcat的安装及配置。
- JAVA之JDK安装配置及使用与解读
- Java Map集合 转化为List 并为List排序
- 未完成的代码!
- Struts2与Struts1的区别
- 应用expect登陆服务器
- AndroidStudio 放弃Gradle使用Android.mk
- 自学java之hibernate安装及配置
- Unix学习(一)
- 优先队列(下次总结完整)
- Maven 遇到mybatis 发生org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
- Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
- leetcode_208 Implement Trie(Prefix Tree)
- hello world
- JAVA中的继承
- qt4与qt5不兼容问题