database - how to connect web app packages? -
public boolean createnewaccount(customerdto customerdto, accountdto accountdto, connection connection) throws namingexception, sqlexception { customerdao customerdao=daofactory.createcustomerdao(); acountdao acountdao=daofactory.createacountdao(); connection.setautocommit(false); try{ boolean createnewaccount = customerdao.createnewaccount(customerdto); if (createnewaccount) { boolean createnewaccount = acountdao.createnewaccount(accountdto); if (createnewaccount) { connection.commit(); return true; }else{ connection.rollback(); return false; } }else{ connection.rollback(); return false; } }finally{ connection.setautocommit(true); return true; } }
create database abcbank; use abcbank;
create table customer( nic varchar(100) not null, firstnmae varchar(100), lastname varchar(100), address varchar(100), contact int(10), constraint primary key(nic) );
create table account( accno varchar (100) not null, nic varchar (100) not null, balance float (10), constraint primary key(accno,nic), constraint foreign key(nic) references customer(nic) on update cascade on delete cascade );
create table transation( transno varchar (100) not null, accno varchar (100) not null, nic varchar (100) not null, amount float(10)not null, transactiontype varchar(100), date date, time time, constraint primary key(transno,accno,nic), constraint foreign key(accno) references account(accno) on update cascade on delete cascade, constraint foreign key(nic) references account(nic) on update cascade on delete cascade );
<resource auth="container" driverclassname="com.mysql.jdbc.driver" maxactive="50" maxage="10000" maxidle="10" maxwait="100000" name="jdbc/thogakade" password="deshan" testonborrow="true" type="javax.sql.datasource" url="jdbc:mysql://localhost:3306/thogakade?autoreconnect=true" username="root" validationquery="select 1"/>
resouse abstrct class
protected abstract datasource createdatasource()throws namingexception;
public datasource getdatasource()throws namingexception{ datasource datasource=createdatasource(); return datasource; } impl @override protected datasource createdatasource() throws namingexception { initialcontext context=new initialcontext(); datasource datasource=(datasource) context.lookup("java:comp/env/jdbc/thogakade"); return datasource; } dao impl public boolean createnewaccount(customerdto dto) throws namingexception, sqlexception { string sql="insert customer values(?,?,?,?,?)"; preparedstatement stm=datasource.getconnection().preparestatement(sql); stm.setstring(1, dto.getnic()); stm.setstring(2, dto.getfirstname()); stm.setstring(3, dto.getlastname()); stm.setstring(4, dto.getaddress()); stm.setint(5, dto.gettpno()); int res=stm.executeupdate(); return (res>0); } @override public customerdto serchcustomerbynic(string nic) throws namingexception, sqlexception { string sql="select * customer nic='"+nic+"'"; customerdto customerdto=null; statement s=datasource.getconnection().createstatement(); resultset rst=s.executequery(sql); if (rst.next()) { customerdto=new customerdto(rst.getstring(1),rst.getstring(2),rst.getstring(3),rst.getstring(4),rst.getint(5)); } return customerdto; } public arraylist<transationdto> getalltransation() throws namingexception, sqlexception { string sql = "select * transation"; statement statement = datasource.getconnection().preparestatement(sql); resultset rst = statement.executequery(sql); arraylist<transationdto> lsit = new arraylist<>(); while (rst.next()) { if (lsit == null) { lsit = new arraylist<>(); }else{ transationdto dto=new transationdto(rst.getstring(1),rst.getstring(2),rst.getstring(3),rst.getfloat(4),rst.getstring(5),rst.getstring(6),rst.getstring(6)); lsit.add(dto); } } return lsit; } @override public boolean updateaccount(accountdto accountdto) throws namingexception, sqlexception { string sql="update account set balance=?,nic=? accno=?"; preparedstatement stm = datasource.getconnection().preparestatement(sql); stm.setstring(1, accountdto.getaccountno()); stm.setstring(2, accountdto.getnic()); stm.setfloat(3, accountdto.getbalance()); int res = stm.executeupdate(); return (res > 0); } daofacimpl private resource resource; public daofactoryimpl(resource resource) { this.resource = resource; } @override public customerdao createcustomerdao() throws namingexception, sqlexception { datasource datasource=resource.getdatasource(); customerdao customerdao=new customerdaoimpl(datasource); return customerdao; }
service leyer //
service impl
private daofactory daofactory;
public customerserviveimpl(daofactory daofactory) { this.daofactory = daofactory; } @override public customerdto serchcustomerbynic(string nic) throws namingexception, sqlexception { customerdao customerdao=daofactory.createcustomerdao(); return customerdao.serchcustomerbynic(nic); } @override public boolean createnewaccount(customerdto customerdto, accountdto accountdto, connection connection) throws namingexception, sqlexception { customerdao customerdao=daofactory.createcustomerdao(); acountdao acountdao=daofactory.createacountdao(); connection.setautocommit(false); try{ boolean createnewaccount = customerdao.createnewaccount(customerdto); if (createnewaccount) { boolean createnewaccount = acountdao.createnewaccount(accountdto); if (createnewaccount) { connection.commit(); return true; }else{ connection.rollback(); return false; } }else{ connection.rollback(); return false; } }finally{ connection.setautocommit(true); return true; } } service facimpl private daofactory daofactory; public servicefactoryimpl(daofactory daofactory) { this.daofactory = daofactory; } @override public customerservice createcustomerservice() throws namingexception, sqlexception { customerservice customerservice=new customerserviveimpl(daofactory); return customerservice; } web..serv resource resource = new resourceimpl(); daofactory daofactory = new daofactoryimpl(resource); servicefactory servicefactory = new servicefactoryimpl(daofactory); protected void processrequest(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { printwriter writer = response.getwriter(); try { string accno=request.getparameter("accno"); acountservice acountservice=servicefactory.createacountservice(); customeraccdetaildto customeraccde = acountservice.searchbyaccno(accno); gson gson=new gsonbuilder().create(); string list = gson.tojson(customeraccde); writer.write(list); } catch (namingexception ex) { servletexception exception=new servletexception(ex); logger.getlogger(sercletdepositecustomersearch.class.getname()).log(level.severe, null, ex); } catch (sqlexception ex) { servletexception exception=new servletexception(ex); logger.getlogger(sercletdepositecustomersearch.class.getname()).log(level.severe, null, ex); } catch (exception ex) { servletexception exception=new servletexception(ex); logger.getlogger(sercletdepositecustomersearch.class.getname()).log(level.severe, null, ex); }finally{ if (writer!=null) { writer.close(); } ajx
$("#serchc").click(function (){ var qs="?accno="+$("#accno").val();
$.getjson("sercletdepositecustomersearch"+qs,function(respoce){ alert(qs); $("#fname").val(respoce.firstname) ; $("#sname").val(respoce.lastname); $("#nic").val(respoce.nic); $("#add").val(respoce.address) $("#balance").val(respoce.balance); $("#tp").val(respoce.contact) });
});
Comments
Post a Comment