- 博客(29)
- 资源 (8)
- 收藏
- 关注
原创 Hibernate基于timestamp的乐观锁
数据表创建实体类package com.dwx.models;import java.util.Date;public class Accounts { private int id; private String username; private double money; private Date lastUpdate; public Date getLastUpdate() ...
2018-05-30 09:23:52 970 1
原创 Hibernate基于version的乐观锁
在Hibernate中,主要由Hibernate提供的版本控制功能来实现乐观锁定。Hibernate为乐观锁提供了两种实现,分别基于version的实现和基于timestamp的实现。version元素利用一个递增的整数来跟踪数据表中记录的版本;而timestamp元素则用时间来跟踪数据库表中记录的版本。accounts表结构创建实体类package com.dwx.models;pub...
2018-05-29 17:20:18 6997
原创 Hibernate锁机制
Hibernate支持两种锁机制: 悲观锁(Pessimistic Locking):当数据被外界修改时保持原始状态,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁大多数情况下依靠数据库的锁机制实现。 乐观锁(Optimistic Locking):主要由Hibernate提供的版本控制功能实现。Hibernate的主要锁定模式:(1) LockMode.NONE:无锁机制,这是默认的...
2018-05-29 16:42:39 1265
原创 在Hibernate中使用事务
Hibernate对JDBC进行了轻量级的封装,它本身在设计时不具备事务处理功能。Hibernate将底层的JDBCTransaction或JTATransaction进行了封装,再在外面套上Transaction和Session的外壳,其实是通过委托底层的JDBC或JTA来实现事务的处理功能的。1.在Hibernate中使用JDBC事务 Hibernate在Session控制下,在...
2018-05-29 14:43:33 582
原创 Hibernate事务管理
事务是指一组相互依赖的操作行为,在每个事务结束时,都能保持数据的一致性。数据库向用户提供保存当前程序状态的方法叫事务提交(Commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫事务回滚(RollBack)。通过将一组相关操作组合为一个要么全部成功,要么全部失败的单元,可以简化错误恢复,同时使应用程序更加可靠。事务的特性 数据库事务是指由一个或多个SQL语...
2018-05-29 10:55:02 547
原创 HQL外连接
【例】图书与出版社图书表出版社表1、左外连接session=HibernateSessionFactory.getSession(); String hql="from Book b left join b.publisherId"; Query query=session.createQuery(hql); List result=query.list(); Iter...
2018-05-28 16:05:39 500
原创 HQL内连接
【例】图书与出版社图书表出版社表省略实体类、映射配置的创建........1、内连接session=HibernateSessionFactory.getSession(); String hql="from Book b inner join b.publisherId"; Query query=session.createQuery(hql); List result=...
2018-05-28 15:31:38 907
原创 本地SQL查询
【例】雇员信息表测试类session=HibernateSessionFactory.getSession(); Query query=session.createSQLQuery("select * from employee where emp_name='李树生'").addEntity(Employee.class); List list=query.list(); ...
2018-05-28 11:18:50 589
原创 QBC(Qurey ByCriteria)检索方式
QBC(Qurey ByCriteria)检索方式 采用HQL检索方式时,在应用程序中需要定义基于字符串形式的HQL查询语句。QBC API提供了检索对象的另一种方式,它主要由Criteria接口、Criterion接口和Expression类组成,它支持在运行时动态生成查询语句。【例】雇员信息表测试类session=HibernateSessionFactory.getSessio...
2018-05-28 10:47:43 255
原创 OID检索方式
【例】雇员信息表测试类session=HibernateSessionFactory.getSession(); Employee emp=session.load(Employee.class, 1); System.out.println(emp.getEmp_id()+" "+emp.getEmp_name()+" "+emp.getEmp_sex()+ ...
2018-05-28 10:27:37 576
原创 Hibernate导航对象图检索方式
【例】雇员信息导航对象图检索方式session=HibernateSessionFactory.getSession(); Employee emp=session.get(Employee.class, 1); System.out.println(emp.getEmp_id()+" "+emp.getEmp_name()+" "+emp.getEmp_sex()+ ...
2018-05-26 11:25:01 481
原创 HQL分页查询
【例】雇员信息分页查询(1)setFirstResult(int firstResult):设置开始检索的对象。(2)setMaxResults(int maxResults):设置每次检索返回的最大对象数。session=HibernateSessionFactory.getSession(); String hql="from Employee"; Query query=sess...
2018-05-26 11:18:39 5033
原创 HQL条件查询
【例】雇员信息比较运算:查询姓名为“李树生”的雇员信息session=HibernateSessionFactory.getSession(); String hql="from Employee e where e.emp_name=?"; Query query=session.createQuery(hql); query.setParameter(0, "李树生"); ...
2018-05-26 11:08:02 1215
原创 HQL语句参数的绑定
【例】雇员信息第一种方式:查询薪水高于6000的雇员信息session=HibernateSessionFactory.getSession(); String hql="from Employee e where e.emp_salary>6000"; Query query=session.createQuery(hql); List<Employee>li...
2018-05-26 10:00:34 1135
原创 Hibernate聚集函数
【例】雇员信息表统计雇员人数(count)session=HibernateSessionFactory.getSession(); String hql="select count(emp) from Employee emp"; Query query=session.createQuery(hql); long count=(long)query.uniqueResult(...
2018-05-26 08:45:40 349
原创 Hibernate投影查询
【例】雇员信息表雇员表结构雇员信息第一步:创建雇员类package com.dwx.models;import java.util.Date;public class Employee { private int id; private String emp_id; private String emp_name; private String emp_sex; private Da...
2018-05-25 17:29:01 347
原创 hibernate多对多双向关联
【例】学生选课第一步:创建数据表课程表学生表学生---选课第二步:创建实体类package com.dwx.models;import java.util.HashSet;import java.util.Set;public class Student { private int sid; private String sname; private Set<Course>...
2018-05-25 09:34:15 141
原创 Hibernate多对多关联
【例】学生选课第一步:创建数据表课程表学生表第二步:创建实体类学生类package com.dwx.entity;import java.util.Set;public class Student { private int sid; private String sname; private Set<Course>courses; public int getSid() ...
2018-05-24 15:18:21 123
原创 hibernate多对一双向关联
【例】图书与出版社第一步:创建数据库表图书表出版社表第二步:创建实体类product.javapackage com.dwx.entity;public class Product { private int id; private String name; private double price; private Factory factory; public int getId(...
2018-05-24 11:07:21 225
原创 hibernate多对一单向关联
【例】图书与出版社第一步:创建数据库表图书表出版社表第二步:创建实体类product.javapackage com.dwx.entity;public class Product { private int id; private String name; private double price; private Factory factory; public int getId...
2018-05-24 10:08:15 144
原创 struts2数据校验(重写validate方法)
【例】用户登录添加数据校验第一步:创建loginActionpackage com.dwx.action;import java.util.regex.Pattern;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class loginAct...
2018-05-19 09:13:03 510
原创 struts2模型驱动方式传值
【例】用户登录第一步:创建user域对象package com.dwx.bean;public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String u...
2018-05-17 08:58:54 1557
原创 struts2域对象属性驱动方式传值
【例】用户登录第一步:创建user域对象package com.dwx.bean;public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String u...
2018-05-17 08:43:12 700
原创 struts2使用method属性处理调用方法
【例】使用method属性实现用户登录与注册第一步:编写actionpackage com.dwx.actions;import com.opensymphony.xwork2.ActionSupport;public class userAction extends ActionSupport{ private String username; private String passwo...
2018-05-16 15:48:07 2512
原创 struts2通配符使用
【例】使用通配符实现用户登录与注册第一步:编写actionpackage com.dwx.actions;import com.opensymphony.xwork2.ActionSupport;public class userAction extends ActionSupport{ private String username; private String password; ...
2018-05-16 15:39:06 2342
原创 struts2访问Servlet Api(非IoC方式)
【例】实现添加用户功能第一步:创建action类package com.dwx.actions;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.Se...
2018-05-16 09:40:04 182
原创 struts2直接访问Servlet Api(IoC方式)
【例】实现添加用户功能第一步:创建action类package com.dwx.actions;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.in...
2018-05-16 09:25:01 252
原创 struts2间接访问servletApi
【例】实现添加用户功能第一步:创建action类package com.dwx.actions;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class AddUserAction extends ActionSupport{ private ...
2018-05-16 09:10:50 172
原创 struts2自定义拦截器
第一步:写actionpackage com.dwx;import java.util.List;import com.dwx.bean.item;import com.dwx.util.dao;import com.opensymphony.xwork2.ActionContext;/** * 登录action */import com.opensymphony.xwork2....
2018-05-15 17:06:34 119
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人