Hibernate学习-03:入门案例(CRUD(增删改查)操作之添加记录)
来源:互联网 发布:双十一淘宝热销产品 编辑:程序博客网 时间:2024/05/22 00:27
加下来,我们就要开始我们的第一个Hibernate程序了。
1、同上一讲创建一个java项目并导入相应的jar包和Log4j属性文件。
2、在数据库中创建一个表:(关系型数据库)
create database hibernate3_day01;use hibernate3_day01;create table customer(id int primary key auto_increment,name varchar(20),age int);3、创建一个实体类:(面向对象)
package com.js.demo2;public class Customer {private int id; private String name; private int age;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 int getAge() {return age;}public void setAge(int age) {this.age = age;}}4、新建映射文件(通常跟实体类在一个文件夹下,名字可以任意,一般有一定的命名规范:实体类名.hbm.xml)
所以我们命名为:Customer.hbm.xml
引入约束:hibernate3.jar/org.hibernate.hibernate-mapping-3.0.dtd
<?xml version="1.0" encoding="UTF-8"?><!-- 引入约束 --><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 类和表建立映射,类的属性和表的字段建立映射 --> <hibernate-mapping><!-- 建立类和表的映射 --><!-- class标签:用于映射类与表的关系 name:类的全路径 table:表名称 --><class name="com.js.demo2.Customer" table="customer"><!-- 建立类中的属性和表中的字段的映射 --><!-- 唯一标识 --><!-- 使用id标签配置唯一属性 --><!-- 在id标签中配置一个主键的生成策略 --><id name="id" column="id"><generator class="native"/></id><!-- 普通属性 --><!-- property标签:name:类中的属性名称 column:表中的字段名 --><!-- type有三种写法,可以写成java类型(java.lang.String)、hibernate类型(string)、sql类型(不能直接使用type属性,使用子标签column,<column name="name" sql-type="varchar(20)></column>) --><!-- type可以不写,hibernate可以帮助我们完成转换 --><property name="name" column="name" type="string"/><property name="age" column="age" type="int"/></class></hibernate-mapping>
5、在src下创建hibernate的核心配置文件hibernate.cfg.xml,通知hibernate你连接的是哪个数据库。
Hibernate中有个叫session的对象,类似于咱们JDBC中的connection对象,session-factory类似于数据库连接池。
关于property的配置,可以去Hibernate解压路径下的project中的etc文件夹下找到hibernate.properties文件。
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><!-- 配置数据库连接的基本信息 --><session-factory><!-- 配置数据库连接的基本信息 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///hibernate3_day01</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><!-- 配置hibernate方言,因为hibernate自动生成sql语句,这里确定底层生成的sql语句 --><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 可选的属性 --><!-- 显示sql --><property name="hibernate.show_sql">true</property><!-- 格式化sql --><property name="hibernate.format_sql">true</property><!-- 通知hibernate加载哪些映射文件 --><mapping resource="com/js/demo2/Customer.hbm.xml"/></session-factory></hibernate-configuration>6、编写测试类,向数据库中添加一条记录。
package com.js.demo2;/** * hibernate入门案例的测试: */import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.Test;public class HibernateTestDemo1 {@Test//向数据库中插入一条记录public void demo1(){//1、hibernate框架加载核心配置文件(有数据库连接信息)Configuration configuration = new Configuration().configure();//2、创建一个sessionFactory对象(获得session--相当于连接对象)SessionFactory sessionFactory = configuration.buildSessionFactory();//3、获得session对象Session session = sessionFactory.openSession();//4、默认的情况下,事务时不自动提交的。开启一个事务。Transaction tx=session.beginTransaction();//5、业务逻辑操作-向数据库中插入一条记录Customer customer = new Customer();customer.setName("武松");customer.setAge(28);session.save(customer);//6、事务提交tx.commit();//7、释放资源session.close();sessionFactory.close();}}7、运行测试:
数据库:
记录添加成功。这就是一个简单的入门案例,供大家参考。后续将系统介绍Hibernate框架的使用。
0 0
- Hibernate学习-03:入门案例(CRUD(增删改查)操作之添加记录)
- Hibernate学习-05:CRUD(增删改查)操作之修改记录
- Hibernate学习-06:CRUD(增删改查)操作之删除记录
- Hibernate学习-07:CRUD(增删改查)操作之查询多条/所有记录HQL、QBC、SQL三种方式
- Hibernate学习-04:CRUD(增删改查)操作之根据主键查询
- Mybatis入门之增删改查(CRUD)
- Hibernate入门(6):CRUD 增删改查
- Hibernate实现数据的增删改查(CRUD)操作
- Hibernate学习笔记二-增删改查(CRUD)
- Java操作MongoDB之CRUD(增删改查)
- Hibernate之Session增删改查操作
- Hibernate基本概念与CRUD(增删改查)
- Hibernate的增删改查CRUD
- Mybatis学习系列之(二)---crud(即增删改查)
- ElasticSearch入门-增删改查(CRUD)
- ElasticSearch入门-增删改查(CRUD)
- Hibernate框架学习之增删改查
- GreenDAO进行CRUD操作【增删改查】
- ubuntu下安装lua的时候出现 lua.c:80:31: fatal error: readline/readline.h: 没有那个文件或目录 这样的报错
- [POI2010]TES-Intelligence Test 洛谷3500 二分
- 安卓目录res/menu中showAsAction用法
- gradle下载更新依赖库失败的解决办法
- 理解Javascript的状态容器Redux
- Hibernate学习-03:入门案例(CRUD(增删改查)操作之添加记录)
- 题目1135:字符串排序
- 质数的计算算法
- Netty线程模型
- JVM 初探(二)
- java.lang.ClassNotFoundException,包冲突或缺失的问题
- 【转】DBMS_STATS.GATHER_TABLE_STATS详解
- 如何理解HTTP协议的 “无连接,无状态” 特点?
- 常见缓存算法和LRU的c++实现