关于对hibernate使用以及简答CRUD操作方法的记录

关于对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-08-05 04:00:15

关于对hibernate使用以及简答CRUD操作方法的记录的相关文章

Java 实现简答的单链表的功能

作者:林子木  博客网址:http://blog.csdn.net/wolinxuebin 参考网址:http://blog.csdn.net/sunsaigang/article/details/5751780 描述:使用java实现简答的单链表的功能 定义了一个MyList类 包含的函数: getHead()返回头指针: isEmpty() 判断是否为空: addFirst(T element)在链表的头部加入元素: addLast(T element)在链表的尾部加入元: add(T fi

jquery easyui树的简答构造+动态生成js全局变量

jquery easyui树的简答构造: JSP页面 组织机构: <input id="p_organId" name="p_organId" style="width: 160px;height: 28px;"> function loadOrgan(){ organ_combotree = $("#p_organId").combotree({ url:'${ctxFront}/cust/tree', mult

【Python】安装python包时遇到&quot;error: Microsoft Visual C++ 9.0 is required&quot;的简答

简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27 打开http://aka.ms/vcpython27会跳转到http://www.microsoft.com/en-us/download/confirmation.aspx?id=44266 将安装包(VCFo

linux系统运维面试题简答

1.     简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现.在master和backup之间通过master主动降低自己的权值或者backup检测到master出现故障时,backup将会接管master的工作,继续服务. HAproxy:HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的w

iOS:知识点简答

1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memory leak. 2.数组和链表什么区别? 答:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素. 链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起. 3.delegate和notification什么区别,什么情况使用? 答:Delegate:消息的发送者(sender)告知接收者(

mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list&lt;对应的object&gt;就行了啊

dao方法 public List<User> selectSimpleMulti(Map<String, Object> params){ if(params == null){ params = new HashMap<String, Object>(); } return dao.queryList(mapper+ "selectSimpleMulti", params); } 对应的mapper.xml配置sql语句 <resultMa

在GROUP BY中的做文章(一道题五中简答方法!)

被废话,直接上代码 测试代码,数据如下: CREATE TABLE #T( TIMES VARCHAR(15), RESULT NVARCHAR(20) ) INSERT INTO #T SELECT '2005-05-09','胜' UNION ALL SELECT '2005-05-09', '胜' UNION ALL SELECT '2005-05-09', '负' UNION ALL SELECT '2005-05-09', '负' UNION ALL SELECT '2005-05-1

S2T40,第四章,简答4

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Emmet 8 { 9 class emmet 10 { 11 public emmet(string name) 12 { 13 this.Name = name; 14 } 15 16 public string N

S2T40,第四章,简答5

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Emmet 8 { 9 class Wizard 10 { 11 public Wizard() 12 { 13 this.HP = 1000; 14 } 15 16 public Wizard(int level, i