hibernate
package ch01.service.impl;
import java.util.List;
import org.hibernate.Transaction;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import ch01.dao.MemberDao;
import ch01.dao.impl.MemberHibernateDaoImpl;
import ch01.dao.impl.MemberJDBCDaoImpl;
import ch01.model.MemberBean;
import ch01.service.MemberService;
import ch01.utils.HibernateUtils;
public class MemberServiceImpl implements MemberService {
SessionFactory factory;
MemberDao dao;
public MemberServiceImpl() {
factory = HibernateUtils.getSessionFactory();
dao = new MemberHibernateDaoImpl();
}
@Override
public boolean isDup(String id) {
boolean dup = false;
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
dup = dao.isDup(id);
tx.commit();
} catch (Exception e) {
if(tx != null) {
tx.rollback();
}
throw new RuntimeException();
}
return dup;
}
@Override
public int save(MemberBean mb) {
int n = 0;
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
n = dao.save(mb);
tx.commit();
} catch (Exception e) {
if(tx != null) {
tx.rollback();
}
throw new RuntimeException();
}
return n;
}
@Override
public List<MemberBean> getAllMembers() {
List<MemberBean> allMembers =null;
// MemberDao dao = new MemberJDBCDaoImpl();
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
allMembers = dao.getAllMembers();
tx.commit();
} catch (Exception e) {
if(tx !=null) {
tx.rollback();
}
}
return allMembers;
}
@Override
public MemberBean getMember(int pk) {
MemberBean member = null;
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
member = dao.getMember(pk);
tx.commit();
} catch (Exception e) {
if(tx !=null) {
tx.rollback();
}
}
return member;
}
@Override
public int deleteMember(int ipk) {
int d = 0;
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
d = dao.deleteMember(ipk);
tx.commit();
} catch (Exception e) {
if(tx !=null) {
tx.rollback();
}
}
return d;
}
@Override
public int updateMember(MemberBean mb) {
int up = 0;
Session session = factory.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
up = dao.updateMember(mb);
tx.commit();
} catch (Exception e) {
if(tx !=null) {
tx.rollback();
}
}
return up;
}
}
package ch01.dao.impl;
import java.lang.reflect.Member;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import ch01.dao.MemberDao;
import ch01.model.MemberBean;
import ch01.utils.HibernateUtils;
//實作介面或繼承父類別,程式使用時直接寫父類別/介面名稱
public class MemberHibernateDaoImpl implements MemberDao {
SessionFactory factory;
public MemberHibernateDaoImpl() {
factory = HibernateUtils.getSessionFactory();
}
@SuppressWarnings("unchecked")
@Override
public boolean isDup(String id) {
boolean result = false;
String hql = "FROM MemberBean where id = :mid "; //:代表要提共的參數
Session session = factory.getCurrentSession();
List<MemberBean> beans = session.createQuery(hql)
.setParameter("mid", id)
.getResultList();
if(beans.size() ==0) {
result = false;
}else {
result = true;
}
return result;
}
@Override
public int save(MemberBean mb) {
int count = 0;
Session session = factory.getCurrentSession();
session.save(mb);
System.out.println(mb);
count++;
return count;
}
@SuppressWarnings("unchecked")
@Override
public List<MemberBean> getAllMembers() {
List<MemberBean> allMembers = null;
String hql = "FROM MemberBean";
Session session = factory.getCurrentSession();
allMembers = session.createQuery(hql).getResultList();
return allMembers;
}
@Override
public MemberBean getMember(int pk) {
MemberBean mb = null;
Session session = factory.getCurrentSession();
mb = session.get(MemberBean.class,pk);
return mb;
}
@Override
public int deleteMember(int pk) {
int count = 0;
Session session = factory.getCurrentSession();
MemberBean mb = new MemberBean(pk);
session.delete(mb);
count++;
return count;
}
@Override
public int updateMember(MemberBean mb) {
int count = 0;
// MemberBean mmb = null;
Session session = factory.getCurrentSession();
session.update(mb);
// mmb = (MemberBean)session.get(MemberBean.class,mb.getPk());
// mmb.setId(mb.getId());
// mmb.setName(mb.getName());
// mmb.setPswd(mb.getPswd());
return count;
}
}
[ ] 2 Spring Boot 動態網站開發實務 spring-boot Tomcat不能用jar專案 3 Spring Boot 動態網站開發實務
Jan 7, 2023controller //刪除留言 @RequestMapping(path = "/msgDelMessage.controller",method = RequestMethod.POST) public String msgDelMessage(@SessionAttribute(name = "list") List<MsgFatherMessage> list, @RequestParam(name = "id")Integer id, @RequestParam(name = "index")int index,Model m) { msgService.fmdel(new MsgFatherMessage(id)); list.remove(index); return "msgAllMessage"; }
Jul 1, 2021https://github.com/Java-Techie-jt/Spring-Boot-WebSocket Spring Boot Websocket Chat Application Example | Java Techie https://www.toptal.com/java/stomp-spring-boot-websocket https://www.youtube.com/watch?v=-ao3pX-UhQc&ab_channel=JavaMasterhttps://www.youtube.com/watch?v=-ao3pX-UhQc&ab_channel=JavaMaster
Jul 1, 2021https://chrome.google.com/webstore/detail/night-mode-lite/kaciggfbbmkcohjhojhbipdlofgngfmj spring.datasource.url=jdbc:sqlserver://192.168.27.57:1433;databaseName=TeamNO3 192.168.27.58 package iii.team3.chatroom.controller; import iii.team3.chatroom.storage.UserStorage;
Jul 1, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up