hibernate入门
来源:互联网 发布:手机淘宝开店怎么注册 编辑:程序博客网 时间:2024/06/11 21:48
1首先在数据库中建立一个用户表User(我推荐刚起步的时候这样起名字,因为它会和你接下来的类名相同,减少出错误的可能性)
2我这里用的是idea,但是你用其他IDE也一样,没有关系。建立一个User类。
public class User { private int userId; private String userName; private String password; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
3然后开始建立hibernate的配置文件。
首先建立orm文件(就是把你建立的User类和数据库中的User表关联起来)
这个文件可以随便起名字,但为了规范(也就是别人看的懂)一般都是 类名+hbm.xml.
所以我们这里User的映射文件名为: User-hbm.xml
然后开始写配置文件。这里我强调一下,大家千万不要不太多的精力放在配置文件上,因为对于初学者这个并不是很重要,即使对于开发多年的老手或者高手他们也不会对配置文件很了解,他们也是碰到来问题然后去解决,只不过他们的解决办法是看文档,新手是靠百度。所以我也不会讲太多,大家直接把我这个复制下来就可以了。
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
任何配置文件都要有这个开头。我建议大家在写配置文件的时候用那些比较智能的,就是写的时候会把标签提示给你,因为这样会减少出错的可能性。(再强调一遍,hibernate的重点不是配置文件)
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="model"><!-- 配置信息--></hibernate-mapping>
我担心不能把颜色显示出来所以我把图片上传了。
<hibernate-mapping package="model"><!-- 配置信息--></hibernate-mapping>
model就是根标签(没有为什么,规定就是这样),里面有一个package属性,就是写你类的包名(这个包名可以写在这里,接下来写全类名的时候,你就写类名就可以了,不用加包名)。如果你这里没写package这个属性也没事,在下面写包名的时候写全类名就可以了。
class
hibernate-mapping的下一个标签就是class标签,看名字就可以猜到,接下来我们要写类的一些信息了。
类的第一个属性当然就是类名了,因为我们前面已经指定来包名,所以这里直接写User就可以了。当然也需要下这个类所映射的表名,当然也是User了。
每一张表中都有主键,也就是id。所以id这个标签是用来指定id的。
name属性是类中的字段的名称。也就是User 中的private int userId这个变量。
所以name=”userId”
cloumn属性User表中对应的字段,当然也是userId(当时我们为了减少出错的可能性全部用来相同的名字,其实在实际开发中也是尽量用相同的名字)
type类型:就是###类###中数据的类型
因为我们这里id是int类型,为了方便我们希望id以自增的方式,所以又加了一个 generator 标签,它的class值为increment。
除了id之外其他字段全部用property标签,它和id大同小异,也是写column,name,type这三个属性值。
这里我就不再重复讲了.
好了,orm文件写完来,接下来就是hibernate的配置文件。
建议大家起的名字为 hibernate-cfg.xml 很直观,就是hibernate config的缩写嘛。
<?xml version='1.0' encoding='utf-8'?><!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> <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <mapping resource="mapping/User-hbm.xml"/> </session-factory></hibernate-configuration>
开始标签就是hibernate-configuration这没什么可以讲的。
接下来就是session-factory:如何理解session-facotry呢,其实它就是一个连接工厂,在jdbc里面连接是Connection,在hibernate里面连接时Session。
在yongjdbc连接的时候,我们需要加载jdbc驱动,用户名,密码,url同样在这里也需要这些的加载。
当然加载完这些之后,我们需要将映射文件也配置进去。
也就是mapping标签,我们这里只有一个映射文件,因此只写一个mapping。
好了,现在貌似基本都完了,我们来实践一下吧。
Configuration configuration=new Configuration(); configuration.configure("hibernate-cfg.xml"); SessionFactory sessionFactory=configuration.buildSessionFactory(); User user=new User(); user.setUserName("liu"); Session session=sessionFactory.openSession(); Transaction transaction=session.beginTransaction(); session.save(user); transaction.commit();
解释一下这段代码,Configuration就是配置,SessionFactory就是链接工厂,Session就是连接,Transaction就是事物,学过数据库事物有一个特点就是要么全部执行成功,要么全部都不成功。
- Hibernate 入门
- Hibernate 入门
- Hibernate入门
- Hibernate入门
- Hibernate入门
- Hibernate 入门
- Hibernate入门
- Hibernate入门
- Hibernate 入门
- Hibernate入门
- Hibernate入门
- Hibernate入门
- Hibernate入门
- Hibernate入门
- Hibernate入门
- hibernate 入门
- Hibernate入门
- hibernate入门
- Android自定义ViewGroup自动分配子view位置
- 浅谈移动测试
- static代码块,代码块 ,构造方法(一个参数),构造方法(二个参数)
- iOS UIPanGestureRecognizer(拖动手势) 和 点击按钮 实现类似左抽屉的效果
- Android第三方开源NiftyNotification(Android Toast替代品):动画效果生动有趣的通知
- hibernate入门
- ZOJ More Divisors 2562 (反素数)
- Notepad++ 快捷键 大全
- scons 编译
- 机器学习常用数学公式
- 关于移动端css用rem单位的情况
- hdoj StrangeStandard 4133 (反素数)
- 点滴 PUSH-PULL AND OPEN DRAIN+PULL-UP/DOWN
- 微信sharesdk