1、首先创建封装Hibernate的Dao类
import java.io.Serializable;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.stereotype.Component;
@Component
public class UserDao<T> {
@Resource(name="hibernateTemplate")
private HibernateTemplate hibernateTemplate;
public void add(Object o){
hibernateTemplate.save(o);
}
public List<T> select(String hql){
List<T> stus=(List<T>) hibernateTemplate.find(hql);
return stus;
}
public Object get(Class clazz,Serializable id) {
Object obj = hibernateTemplate.get(clazz, id);
return obj;
}
public Object getbyid(Class class1,Long id){
Object object = hibernateTemplate.get(class1, id);
return object;
}
public void delete(Class clazz,Serializable id) {
hibernateTemplate.delete(this.get(clazz, id));
}
public void update(Object o) {
hibernateTemplate.update(o);
}
}
2、中间服务类
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ssh.bean.Student;
import com.ssh.bean.Userinfodz;
import com.ssh.dao.UserDao;
@Transactional
@Service
public class UserService {
@Resource(name="userDao")
private UserDao userDao;
public void add(Student stu){
userDao.add(stu);
}
public List<Student> showUser(){
// List<Student> stus = userDao.select("from Student");//查询所有
List<Student> stus = userDao.select("from Student where pword LIKE '%1%'");//条件查询
/*users=(List<Student>)hibernateTemplate.find("from User where uname=?","秦维");*/
return stus;
}
public List<Userinfodz> showinfo(){
List<Userinfodz> inList = userDao.select("from Userinfodz");
return inList;
}
public Userinfodz getobjUserinfodzbyid (Long ab){
Userinfodz userinfodz = (Userinfodz) userDao.getbyid(Userinfodz.class,ab );
return userinfodz;
}
public void adduserinfo(Userinfodz userinfodz){
userDao.add(userinfodz);
}
}
3、测试类:
@Resource(name="userService")
private UserService userService;
Userinfodz userinfodz2 = userService.getobjUserinfodzbyid(11L);
(1)、查询
// List<Student> stus = userDao.select("from Student");//查询所有
List<Student> stus = userDao.select("from Student where pword LIKE '%1%'");//条件查询
根据id查询
public Userinfodz getobjUserinfodzbyid (Long ab){
Userinfodz userinfodz = (Userinfodz) userDao.getbyid(Userinfodz.class,ab );
return userinfodz;
}
(2)、插入数据
Userinfodz userinfodz = new Userinfodz();
userinfodz.setUsername("sqlname");
userinfodz.setUserno(999);
userinfodz.setUserpwd("sqlpwd");
userService.adduserinfo(userinfodz);
@Resource(name="hibernateTemplate")
private HibernateTemplate hibernateTemplate;
hibernateTemplate.save(userinfodz);
(3)删除数据
dao方法
public Object getbyid(Class class1,Long id){
Object object = hibernateTemplate.get(class1, id);
return object;
}
public void deletebyid(Class class1,Long id){
hibernateTemplate.delete(this.getbyid(class1, id));
}
中间服务
public void deletebyid(Long ab){
userDao.deletebyid(Userinfodz.class, ab);
}
测试
userService.deletebyid(10L);
(4)修改数据
public void updatebyid(Class class1,String uname,String upwd,Long id){
Userinfodz userinfodz = (Userinfodz) this.getbyid(class1,id );
userinfodz.setUsername(uname);
userinfodz.setUserpwd(upwd);
hibernateTemplate.update(userinfodz);
}
public void updatebyid(Class class1,String uname,String upwd,Long id){
userDao.updatebyid(class1,uname,upwd, id);
}
userService.updatebyid(Userinfodz.class,"修改的铭2","修改的pwd2", 7L);