Gw coba jelasin proyek ABSOLUNILA dalam English ya.Sekalian belajar. Absolunila is project base of web design.And i use java programming with Spring and Hibernate. First i design for xml file,like applicationContext.xml, dispatcher-servlet.xml, web.xml. In may project i use annotation.

First I create Fakultas.class and Jurusan.class in model package.



Fakultas.class
/**
*
* @author dedy
*/
@Entity
@Table(name="fakultas")
public class Fakultas implements Serializable{

@Id
@Column(name="kode_fakultas",length=5,nullable=false,unique=true)
private String kodeFakultas;
@Column(name="nama_fakultas",length=100,nullable=false,unique=false)
private String namaFakultas;
@OneToMany(mappedBy="fakultas")
@Column(name="kode_jurusan")
//@Cascade({CascadeType.DELETE_ORPHAN})
private Set jurusans;

//getter and setter

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}

@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}

@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}




Jurusan.class
/**
*
* @author dedy
*/
@Entity
@Table(name="jurusan")
public class Jurusan implements Serializable{

@Id
@Column(name="kode_jurusan",length=5,nullable=false,unique=true)
private String kodeJurusan;
@Column(name="nama_jurusan",length=100,nullable=false,unique=false)
private String namaJurusan;
@ManyToOne
@JoinColumn(name="kode_fakultas")
private Fakultas fakultas;

//getter and setter

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}

@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}

@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}

Then made the DAO class.

FakultasDao.class
public interface FakultasDao {

public Fakultas save(Fakultas fakultas);
public void delete(Fakultas fakultas);
}



JurusanDao.class
public interface JurusanDao {

public Jurusan save(Jurusan jurusan);
}


Then made class for implementation

FakultasDaoImpl.class
@Repository("fakultasDao")
public class FakultasDaoImpl implements FakultasDao {

private static final Log log = LogFactory.getLog(FakultasDaoImpl.class);
private SessionFactory sessionFactory;

@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public Fakultas save(Fakultas fakultas) {
sessionFactory.getCurrentSession().save(fakultas);
return fakultas;
}

public void delete(Fakultas fakultas) {
sessionFactory.getCurrentSession().delete(fakultas);
}



JurusanDaoImpl.class
@Repository("jurusanDao")
public class JurusanDaoImpl implements JurusanDao{

private static final Log log = LogFactory.getLog(JurusanDaoImpl.class);
private SessionFactory sessionFactory;

@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public Jurusan save(Jurusan jurusan) {
this.sessionFactory.getCurrentSession().save(jurusan);
return jurusan;
}


Next made class service and it implementation

FakultasService.class
public interface FakultasService {

public Fakultas save(Fakultas fakultas);
public void delete(Fakultas fakultas);
}



JurusanService.class
public interface JurusanService {

public Jurusan save(Jurusan jurusan);
}



FakultasServiceImpl.class
@Repository("fakultasService")
@Transactional(readOnly=true)
public class FakultasServiceImpl implements FakultasService{

private FakultasDao fakultasDao;

@Autowired
public void setFakultasDao(FakultasDao fakultasDao) {
this.fakultasDao = fakultasDao;
}

@Transactional(readOnly=false)
public Fakultas save(Fakultas fakultas) {
fakultasDao.save(fakultas);
return fakultas;
}

@Transactional(readOnly=false)
public void delete(Fakultas fakultas) {
fakultasDao.delete(fakultas);
}



JurusanServiceImpl.class
@Repository("jurusanService")
@Transactional(readOnly=true)
public class JurusanServiceImpl implements JurusanService{

private JurusanDao jurusanDao;

@Autowired
public void setFakultasDao(JurusanDao jurusanDao) {
this.jurusanDao = jurusanDao;
}

@Transactional(readOnly=false)
public Jurusan save(Jurusan jurusan) {
jurusanDao.save(jurusan);
return jurusan;
}


At least we made controller class


IndexController.java
@Controller(value="indexController")
public class IndexController {

@RequestMapping("/index.htm")
public void index() {

}


After all class has been made, we should test the class.I make class FakultasTest.class


@ContextConfiguration(locations = {"applicationContext.xml"})
@TransactionConfiguration(transactionManager = "transactionManager")
public class FakultasTest extends AbstractTransactionalJUnit38SpringContextTests {

private static final Log log = LogFactory.getLog(FakultasTest.class);

@Resource
private FakultasService fakultasService;
@Resource
private JurusanService jurusanService;

public void testCreateTable() {
log.info("membuat tabel");
}

@Rollback(false)
public void testSaveFakultas(){
log.info("membuat fakultas");
Fakultas fak = new Fakultas();
fak.setKodeFakultas("tek");
fak.setNamaFakultas("teknik");
fakultasService.save(fak);

//jurusan
log.info("membuat jurusan");
Jurusan jur = new Jurusan();
jur.setFakultas(fak);
jur.setKodeJurusan("elt");
jur.setNamaJurusan("elektro");
jurusanService.save(jur);
}


So, this my first posting.Actually the class model has been completely.May this posting can help u for learn java.Any comment,question,critic?

0 Responses so far.

Posting Komentar