关于对hibernate使用方法现在在网上的指南已经有很多了,但是这里我只是想给自己做一个记录,方便自己作为资料来查阅
①对于使用hibernate导入jar包的过程在这里就省略了-----
②在src文件下配置一个xml文件,将其命名为hibernate.cfg.xml,其中的配置基本内容如下:
<span style="font-family:FangSong_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/yhw_wx?characterEncoding=UTF-8</property> //数据库地址、数据库名称、编码格式 <property name="connection.username">root</property> //数据库用户名 <property name="connection.password">***</property> //数据库访问密码 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <property name="show_sql">true</property> <mapping class="com.yihu.entry.AT_GZF" /> //用于建立数据库表和entry类的联系,首先需要实体类是存在的 </session-factory> </hibernate-configuration> </span>
③有了以上的配置我们就能在dao实现对数据库表进行CRUD的操作了,简单代码如下:
查询操作:
<span style="font-family:FangSong_GB2312;font-size:18px;">Configuration cfg = new AnnotationConfiguration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession(); session.beginTransaction(); Query query = session .createQuery("select useropenid from AT_GZF where useropenid=:openid"); query.setString("openid", openid); String useropenid = (String) query.uniqueResult(); //返回为唯一字符时候可以采用uniqueResult()方法,同样可以采用返回对象的方式使用entry类解析 System.out.println(useropenid); session.getTransaction().commit(); session.close(); sf.close();</span>
在上面写出了查询操作的代码实现,其实对于修改和删除操作实现方式也是和上面一样的,只不过是其中的HQL语句有所差异而已;
数据插入操作:
<span style="font-family:FangSong_GB2312;font-size:18px;">Configuration cfg = new AnnotationConfiguration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session ssone = sf.openSession(); ssone.beginTransaction();// OK,将操作放入事务中 MD_Content content = new MD_Content(); content.setMdhead(mdhead); content.setMdcontent(mdcontent); content.setMdid(mdid); content.setMdremark(mdremark); content.setMdurl(mdurl); content.setMdsendtime(System.currentTimeMillis() + ""); ssone.save(content);// 保存对象 ssone.getTransaction().commit();// 得到事务并提交 ssone.close();// Session关闭 sf.close();// 工厂关闭</span>
数据的插入操作其实是以对象的形式将用户数据做封装提交保存数据即可;
时间: 2024-10-12 12:17:28