Hibernate5.1.0的hello word
2024-10-13 23:34:42
新建一个JavaProject(不一定非要web工程)
在工程里面新建一个文件夹lib,用来存放jar包
找到Hibernate的下载文件,解压后找到required文件夹,这是需要的jar包
添加到咱们建好的lib文件夹里面
Hibernate下载地址http://hibernate.org/orm/downloads/
还需要的就是jdbc驱动包 mysql-connector-java-5.1.37-bin.jar
下载地址http://www.mysql.com/products/connector/
现在写一个Java POJO类,也就是简单的getter,setter类啦
然后在Java类所在的包新建一个XXX.hbm.xml文件(这个需要Hibernate插件的支持,关于插件我有一篇有介绍)
再在src文件夹里建一个Hibernate.cfg.xml文件,这是配置文件,包含数据库的信息之类的
<?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> <!-- 配置连接数据库的基本信息 -->
<property name="connection.username">数据库用户名</property>
<property name="connection.password">数据库密码</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/数据库名</property> <!-- 配置Hibernate基本信息 -->
<!-- Hibernate所使用得数据库方言 -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- 执行操作时是否在控制台打印sql -->
<property name="show_sql">true</property> <!-- 是否对sql进行格式化 -->
<property name="format_sql">true</property> <!-- 指定自动生成数据表的策略 -->
<property name="hbm2ddl.auto">update</property> <!-- 指定关联的.hbm.xml文件 -->
<mapping resource="com/biubiu/domain/UserInfo.hbm.xml"/>
<mapping class="com.biubiu.domain.UserInfo"/> </session-factory>
</hibernate-configuration>
最后写一个测试类,测试方法为:
@Test
public void test() {
//1.创建一个SessionFactory对象
SessionFactory seFactory = null;
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure() // configures settings from hibernate.cfg.xml
.build();
try{
seFactory = new MetadataSources( registry ).buildMetadata()
.buildSessionFactory();
} catch(Exception e){
StandardServiceRegistryBuilder.destroy( registry );
} //2.创建一个Session对象 Session session = seFactory.openSession(); //3.开启事务
session.beginTransaction();
//4.执行操作 session.save(new UserInfo("1234@qq.com","测试",
"icuicu","0","img","tianmao")); /*
//!!!!写hql语句,from 类名(区分大小写)
String hql = "from UserInfo";
@SuppressWarnings("unchecked")
List<UserInfo> list = session.createQuery(hql).list();
for(UserInfo u : list){
System.out.println(u);
}
*/
//5.提交事务
session.getTransaction().commit();
//6.关闭Session
session.close();
//7.关闭SessionFactory
seFactory.close(); }
一个是存数据,另外一个是取数据,注意注释起来了
最新文章
- tcpdump for android L 5.x with pie support
- CoreLocation 下的定位跟踪测速
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- SQL Server 利用游标解决Tempdb究极竞争-DBA-程序员需知
- EIGRP汇总
- Active控件有关问题
- Xcode打包framework脚本
- 请教下关于CKEditor富文本编辑框设置字体颜色的问题
- 写给Android App开发人员看的Android底层知识(2)
- 个人作业(3)----个人总结(Alpha阶段)
- RxAndroid中observable的基本使用和表单校验操作
- [SHOI2017]相逢是问候
- javascript之内置函数
- 5.Dubbo原理解析-代理之Javassist字节码技术生成代理 (转)
- maven 项目编译失败
- 小程序通过background-image设置背景图片
- [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
- 关于js中this指向的理解总结!
- weblogic连接池过小导致TPS呈周期性跳坑现象
- java深拷贝与浅拷贝