hibernate的直接加载xml的方式
来源:互联网 发布:mac能用的同步盘 编辑:程序博客网 时间:2024/05/01 04:28
HIbernate所使用到的包有:
private static SessionFactory sessionfactory = new Configuration()
.configure().addClass(User.class).buildSessionFactory();
public static void testSave(User user){
Session session=sessionfactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
session.close();
@Test
public void testTestSave() {
Session session = sessionFactory.openSession();
session.beginTransaction();
// --------------------------------------------
// 构建对象
User user = new User();
user.setName("张天");
// >> Set集合
user.setAddress(new TreeSet<String>()); // 当设置了sort属性时,就要使用SortedSet类型
user.getAddress().add("2御富科贸园");
user.getAddress().add("1棠东东路");
// 保存
session.save(user);
// --------------------------------------------
session.getTransaction().commit();
session.close();
}
public static void testGet(){
Session session=sessionF.openSession();
Transaction tx=session.beginTransaction();
//第二个参数为id号
User user=(User) session.get(User.class, 2);
System.out.println(user);
tx.commit();
session.close();
}
在同一个包下面的user类:
public class User {
private int id;
private String name;
private Set<String> addressSet;
public int getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set<String> getAddressSet() {
return addressSet;
}
public void setAddressSet(Set<String> adresss) {
this.addressSet = adresss;
}
@Override
public String toString() {
return "User [addresss=" + addressSet + ", id=" + id + ", name=" + name + "]";
}
}
在同一个包下面的user.hibernate.xml文件
<?xml version="1.0"?>
<!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.relationship">
<!-- 配置数据库的表名 -->
<class name="User" table="user">
<!-- 配置字段 -->
<id name="id" type="int" column="id">
<!-- 表示使用mysql自带的方法 -->
<generator class="native"/>
</id>
<property name="name"/>
<!-- addressSet属性,Set集合
table属性:集合表的名称
key子元素:集合外键的列名
element子元素:存放集合元素的列的信息
sort属性:"unsorted|natural|comparatorClass"
默认为:unsorted
order-by属性:写的是order by 子句,是SQL语句,是操作的集合表。
这是在查询数据时指定orderby子句。
-->
<set name="addressSet" table="user_addressSet" order-by="address ASC">
<key column="userId"></key>
<element type="string" column="address"></element>
</set>
</class>
</hibernate-mapping>
src下的hibernate.cfg,xml的文件配置:
<!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 name="foo">
<!-- 配置数据库的信息 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/chen
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="hbm2ddl.auto">update</property>
<!-- 执行SQL语句的时候显示SQL语句 -->
<property name="show_sql">true</property>
<!-- C3P0连接池设定-->
<!-- 使用c3p0连接池 配置连接池提供的供应商-->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider </property>
<!--在连接池中可用的数据库连接的最少数目 -->
<property name="c3p0.min_size">5</property>
<!--在连接池中所有数据库连接的最大数目 -->
<property name="c3p0.max_size">20</property>
<!--设定数据库连接的过期时间,以秒为单位,
如果连接池中的某个数据库连接处于空闲状态的时间超过了timeout时间,就会从连接池中清除 -->
<property name="c3p0.timeout">120</property>
<!--每3000秒检查所有连接池中的空闲连接 以秒为单位-->
<property name="c3p0.idle_test_period">3000</property>
<!-- 配置表的信息:注意的是在获取路径信息的时候需要去除前面的Project的名字从包开始
<mapping resource="com/hibernate/relationship/User.hbm.xml" />
-->
</session-factory>
</hibernate-configuration>
- hibernate的直接加载xml的方式
- Hibernate的加载方式
- VC DOM 直接创建XML(不加载XML文件的方式)
- LocalSessionFactoryBean加载Hibernate 映射文件(hbm.xml)的三种方式及区别
- Hibernate的四种数据加载方式
- hibernate加载配置文件的两种方式
- Hibernate加载数据的两种方式
- hibernate中懒加载禁用的方式
- Hibernate的用法基于xml方式
- spring 中加载xml配置文件的方式.
- spring 中加载xml配置文件的方式.
- spring 中加载xml配置文件的方式
- Spring中加载XML配置文件的方式
- spring中加载xml配置文件的方式
- spring 中加载xml配置文件的方式
- Spring中加载xml配置文件的方式
- Spring中加载XML配置文件的方式
- spring 中加载xml配置文件的方式
- 微信界面
- FragmentPagerAdapter+fragment错位的问题解决
- eclipse不能创建tomcat服务器的解决办法
- ButterKnife是一个专注于Android系统的View注入框架
- TCP/IP网络配置实验
- hibernate的直接加载xml的方式
- Android开发之BroadcastReceiver详解
- DIV+CSS实操二:经管系网页添加导航栏和友情链接栏
- Java 读取excel文件
- ListView的item的点击事件和长按事件
- ButterKnife是一个专注于Android系统的View注入框架
- 从sqlserver数据库中提取日期应该使用
- 阶层上升的渠道
- MapReduce编程基础