java学习之hibernate

 Hibernate是一个操作数据库的框架,实现了对JDBC的封装

 1.required文件夹下的所有包(10个)

  jpa-metamodel-generator文件夹下的包

  mysql的驱动包

 2.创建Hibernate的主配置文件

  默认放到src下

  文件名字 默认hibernate.cfg.xml

 3.创建实体类(User)

  注意:数据库字段名和对象的属性名相同

  4.创建与实体类对应的配置文件

  命名规则:实体类名.hbm.xml

  作用:配置实体类与数据库表的关系

  5.从主配置文件中配置映射文件的路径


 创建Hibernate的主配置文件

<!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>
		<!-- hibernate数据库配置 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate01</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<!-- 加载mysql的方言包 limit -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
		<!-- 开启打印sql语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 开启格式化sql语句 -->
		<property name="hibernate.format_sql">true</property>
		<!-- 自动更新表结构 没有表会帮你创建出来表 -->
		<property name="hibernate.hbm2ddl.auto">update</property>
		
		<!-- 映射数据库表对应实体类的路径 
			注意:路径从包名开始 并且中间使用反斜杠相隔
		-->
		<mapping resource="com/lanou3g/User.hbm.xml"/>
		
	</session-factory>
</hibernate-configuration>

 创建与实体类对应的配置文件

<?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 package="com.lanou3g">
   <!--  配置表与实体类的关系
   		name:实体类的全类名
   		table:表名
   		package:填包名 填上后 底下在写全类名 可以省略包名
    -->
    	<class name="User" table="user">
    	<!-- 
    		id:表示主键
    		注意:没有主键不能使用hibernate
    		name:表示类中的成员变量名
    		column:表示这个成员变量所代表的表中的字段名
    	 -->
    	<id name="id" column="id">
    		<!-- 主键的生成策略 主键自增策略 -->
    		<generator class="native"></generator>
    	</id>
    	<!-- 
    		property:表示除主键以外的属性
    	 -->
    		<property name="username" column="username"></property>
    		<property name="password" column="password"></property>
    	
    	
    	</class>
    		
    </hibernate-mapping>

 使用过程

@Test
	public void fun1() {
		//读取主配置文件
		//默认读取src下的hibernate.cfg.xml
		Configuration configuration=new Configuration().configure();
		//创建session工厂(管理一堆session)
		//相当于数据库连接池
		SessionFactory sessionFactory = configuration.buildSessionFactory();
		//获取session 获取session对象
		//获取一个全新的session对象
		Session session = sessionFactory.openSession();
		//通过session操作数据库
		//开启事务
		Transaction transaction = session.beginTransaction();	
		//向数据库插入一条数据(一条记录)
		User user=new User();
		user.setUsername("haha");
		user.setPassword("123");
		//将对象写入到数据库中
		session.save(user);		
		//提交事务
		transaction.commit();
		//关闭资源
		session.close();
		sessionFactory.close();
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值