最近在做一个代码自动生成工具,下面的代码是自动生成的,欢迎大家讨论生成的代码有什么地方需要修改的。
变量名和包名等信息都是生成的时候配置文件配置的。
在线演示地址:[url]http://java.jshuwei.org.cn:8080[/url]
代码看得闲累的话直接下载源代码吧:[url=http://blog.jshuwei.org.cn/article.asp?id=230]查看源代码[/url](代码附件太大,只能放我自己博客中提供下载了,请见谅!)
BaseAction.java:
AddressAction.java
Constant.java
JshuweiContext.java
MyFilter.java
IAddressDao.java
IBaseDao.java
AddressDao.java
BaseDao.java
Address.java
IAddressService.java
IBaseService.java
AddressService.java
BaseService.java
省去配置文件和web端代码,实在是太多了,各位还是直接下载源代码直接查看讨论吧!
附件太大了,这里上传不了,只能发到我自己的博客里下载!
变量名和包名等信息都是生成的时候配置文件配置的。
在线演示地址:[url]http://java.jshuwei.org.cn:8080[/url]
代码看得闲累的话直接下载源代码吧:[url=http://blog.jshuwei.org.cn/article.asp?id=230]查看源代码[/url](代码附件太大,只能放我自己博客中提供下载了,请见谅!)
BaseAction.java:
package cn.org.jshuwei.j2ee.test.action;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
import cn.org.jshuwei.j2ee.util.StringUtil;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 1L;
protected HttpServletRequest request;
protected HttpServletResponse response;
private String serviceId;
private String serviceName;
private int eventCode;
protected Object requestObj;
private int id;
private int start;
private int limit = 25;
public void setServletRequest(HttpServletRequest httpServletRequest) {
request = httpServletRequest;
}
public void setServletResponse(HttpServletResponse httpServletResponse) {
response = httpServletResponse;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
public String getServiceId() {
return serviceId;
}
public void setServiceId(String serviceId) {
this.serviceId = serviceId;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public int getEventCode() {
return eventCode;
}
public void setEventCode(int eventCode) {
this.eventCode = eventCode;
}
public Object getRequestObj() {
return requestObj;
}
public void setRequestObj(Object requestObj) {
this.requestObj = requestObj;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
@SuppressWarnings("unchecked")
public JshuweiContext generateJshuweiContext() {
JshuweiContext jshuweiContext = new JshuweiContext();
if (serviceId != null || !"".equals(serviceId))
jshuweiContext.setServiceId(serviceId);
if (serviceName != null || !"".equals(serviceName))
jshuweiContext.setServiceName(serviceName);
if (eventCode != 0)
jshuweiContext.setEventCode(eventCode);
if (eventCode % 100 ==1)
setRequestObj(new Integer[]{start,limit});
if (eventCode % 100 ==2 || eventCode % 100 ==6)
setRequestObj(new Integer(id));
if (eventCode % 100 ==3) {
List list = new ArrayList();
list.add(generateEntity());
list.add(new Integer[]{start,limit});
setRequestObj(list);
}
if (eventCode % 100 ==4 || eventCode % 100 ==5)
setRequestObj(generateEntity());
if (requestObj != null)
jshuweiContext.setRequestObj(requestObj);
return jshuweiContext;
}
@SuppressWarnings("unchecked")
public Object generateEntity() {
Map map = request.getParameterMap();
String className = StringUtil.firstToUpper(serviceName.substring(0,serviceName.lastIndexOf("Service")));
try {
Class c = Class.forName("cn.org.jshuwei.j2ee.test.entity." + className);
Object obj = c.newInstance();
Field[] fields = c.getDeclaredFields();
for (Field field:fields) {
String fieldName = field.getName();
if(null!=map.get(fieldName)){
field.setAccessible(true);
Method method = obj.getClass().getMethod("set"+StringUtil.firstToUpper(fieldName), field.getType());
Constructor con = field.getType().getConstructor(String.class);
Object o = con.newInstance(((Object[])(map.get(fieldName)))[0]);
method.invoke(obj, o);
}
}
return obj;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public void outputResult(String result){
try {
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
AddressAction.java
package cn.org.jshuwei.j2ee.test.action;
import cn.org.jshuwei.j2ee.test.service.IAddressService;
import cn.org.jshuwei.j2ee.util.JsonUtils;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
import cn.org.jshuwei.j2ee.test.entity.Address;
import cn.org.jshuwei.j2ee.test.core.Constant;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
@SuppressWarnings("unchecked")
public class AddressAction extends BaseAction {
private static final long serialVersionUID = 1L;
@Autowired
private IAddressService addressService;
JshuweiContext jshuweiContext;
private String ret = "";
public void list(){
doExecute();
if(doPre()){
ret = "{total:"+jshuweiContext.getTotalNum()+",results:"+JsonUtils.listToJson((List<Address>)jshuweiContext.getReturnObject())+"}";
}else{
ret = "{success:true,message:'"+jshuweiContext.getReturnMsg()+"'}";
}
outputResult(ret);
}
public void add(){
doExecute();
ret = "{success:true,message:'"+jshuweiContext.getReturnMsg()+"'}";
outputResult(ret);
}
public void mod(){
doExecute();
ret = "{success:true,message:'"+jshuweiContext.getReturnMsg()+"'}";
outputResult(ret);
}
public void del(){
doExecute();
ret = jshuweiContext.getReturnMsg();
outputResult(ret);
}
public void get(){
doExecute();
if(doPre()){
ret = "{total:"+jshuweiContext.getTotalNum()+",results:"+JsonUtils.beanToJson(jshuweiContext.getReturnObject())+"}";
}else{
ret = "{success:true,message:'"+jshuweiContext.getReturnMsg()+"'}";
}
outputResult(ret);
}
private void doExecute(){
jshuweiContext = generateJshuweiContext();
addressService.execute(jshuweiContext);
}
private boolean doPre(){
String returnCode = jshuweiContext.getReturnCode();
if(Constant.BAD_RETURN_CODE.equals(returnCode)){
return false;
}
return true;
}
}
Constant.java
package cn.org.jshuwei.j2ee.test.core;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public class Constant {
public static final String BAD_RETURN_CODE = "500";//请求错误
public static final String GOOD_RETURN_CODE = "200";//请求处理正常
public static final String BAD_SERVICE_MESSAGE = "请求的服务不存在";//服务请求不存在
public static final String FAIL_SERVICE_MESSAGE = "服务处理错误";//服务处理错误
public static final String SAVE_SECCESS = "保存成功";
public static final String Update_SECCESS = "修改成功";
public static final String Delete_SECCESS = "删除成功";
public static final String ADDRESS_SERVICE_ID = "1001";
public static final int ADDRESS_SERVICE_GETALL_EVENT = 101;
public static final int ADDRESS_SERVICE_GETBYID_EVENT = 102;
public static final int ADDRESS_SERVICE_GETBYPROPERTY_EVENT = 103;
public static final int ADDRESS_SERVICE_Update_EVENT = 104;
public static final int ADDRESS_SERVICE_SAVE_EVENT = 105;
public static final int ADDRESS_SERVICE_Delete_EVENT = 106;
public static final int ADDRESS_SERVICE_GETNUM_EVENT = 107;
}
JshuweiContext.java
package cn.org.jshuwei.j2ee.test.core;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public class JshuweiContext {
private String serviceId;//请求服务ID号
private String serviceName;//服务名称
private int eventCode;//请求代码
private Object requestObj;//请求用到的参数封装后对象
private String returnCode;//返回代码
private String returnMsg;//返回消息
private Object returnObject;//返回对象
private int totalNum;//记录总数
public String getServiceId() {
return serviceId;
}
public void setServiceId(String serviceId) {
this.serviceId = serviceId;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public int getEventCode() {
return eventCode;
}
public void setEventCode(int eventCode) {
this.eventCode = eventCode;
}
public Object getRequestObj() {
return requestObj;
}
public void setRequestObj(Object requestObj) {
this.requestObj = requestObj;
}
public String getReturnCode() {
return returnCode;
}
public void setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public String getReturnMsg() {
return returnMsg;
}
public void setReturnMsg(String returnMsg) {
this.returnMsg = returnMsg;
}
public Object getReturnObject() {
return returnObject;
}
public void setReturnObject(Object returnObject) {
this.returnObject = returnObject;
}
public int getTotalNum(){
return totalNum;
}
public void setTotalNum(int totalNum){
this.totalNum = totalNum;
}
}
MyFilter.java
package cn.org.jshuwei.j2ee.test.core;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public class MyFilter implements Filter {
private String characterEncoding = "utf-8";
public void init(FilterConfig config) throws ServletException {
if (config.getInitParameter("characterEncoding") != null
&& !config.getInitParameter("characterEncoding").equals("")) {
this.characterEncoding = config
.getInitParameter("characterEncoding");
}
}
public void doFilter(ServletRequest request0, ServletResponse response0,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)request0;
HttpServletResponse response = (HttpServletResponse)response0;
request.setCharacterEncoding(this.characterEncoding);
response.setCharacterEncoding(this.characterEncoding);
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
chain.doFilter(request, response);
}
public void destroy() {
}
}
IAddressDao.java
package cn.org.jshuwei.j2ee.test.dao;
import cn.org.jshuwei.j2ee.test.entity.Address;
import java.util.List;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public interface IAddressDao extends IBaseDao {
Address loadAddressById(int id);
List<Address> getAllAddresss(int start, int limit);
List<Address> getAllAddresss();
}
IBaseDao.java
package cn.org.jshuwei.j2ee.test.dao;
import java.util.List;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public interface IBaseDao {
void save(Object obj);
void delete(Object obj);
void update(Object obj);
@SuppressWarnings("unchecked")
List queryByExample(Object obj, int start, int limit);
}
AddressDao.java
package cn.org.jshuwei.j2ee.test.dao.impl;
import org.springframework.stereotype.Repository;
import cn.org.jshuwei.j2ee.test.entity.Address;
import cn.org.jshuwei.j2ee.test.dao.IAddressDao;
import java.util.List;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
@Repository
public class AddressDao extends BaseDao implements IAddressDao {
public Address loadAddressById(int id){
String hql = "from Address where id=:id";
return (Address)sessionFactory.getCurrentSession().createQuery(hql).setInteger("id", id).uniqueResult();
}
@SuppressWarnings("unchecked")
public List<Address> getAllAddresss(int start, int limit){
String hql = "from Address";
if(limit==0)
limit=20;
return sessionFactory.getCurrentSession().createQuery(hql).setFirstResult(start).setMaxResults(limit).list();
}
@SuppressWarnings("unchecked")
public List<Address> getAllAddresss(){
String hql = "from Address";
return sessionFactory.getCurrentSession().createQuery(hql).list();
}
}
BaseDao.java
package cn.org.jshuwei.j2ee.test.dao.impl;
import java.util.List;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
import cn.org.jshuwei.j2ee.test.core.Constant;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Example;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.apache.log4j.Logger;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
@Repository
public class BaseDao {
@Autowired
protected SessionFactory sessionFactory;
static Logger log = Logger.getLogger(BaseDao.class);
public void save(Object obj){
sessionFactory.getCurrentSession().save(obj);
}
public void delete(Object obj){
sessionFactory.getCurrentSession().delete(obj);
}
public void update(Object obj){
sessionFactory.getCurrentSession().update(obj);
}
@SuppressWarnings("unchecked")
public List queryByExample(Object obj, int start, int limit){
try {
if(limit==0)
limit=20;
List results = sessionFactory.getCurrentSession().createCriteria(obj.getClass().getName()).add(Example.create(obj)).setFirstResult(start).setMaxResults(limit).list();
return results;
} catch (Exception e) {
log.error(e.getMessage());
new JshuweiContext().setReturnCode(Constant.BAD_RETURN_CODE);
return null;
}
}
}
Address.java
package cn.org.jshuwei.j2ee.test.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Integer id;//数据库流水号
private String name;//姓名
private Integer age;//年龄
private String tel;//联系电话
private String email;//邮箱
//设置数据库流水号
public void setId(Integer id){
this.id = id;
}
//获取数据库流水号
public Integer getId(){
return id;
}
//设置姓名
public void setName(String name){
this.name = name;
}
//获取姓名
public String getName(){
return name;
}
//设置年龄
public void setAge(Integer age){
this.age = age;
}
//获取年龄
public Integer getAge(){
return age;
}
//设置联系电话
public void setTel(String tel){
this.tel = tel;
}
//获取联系电话
public String getTel(){
return tel;
}
//设置邮箱
public void setEmail(String email){
this.email = email;
}
//获取邮箱
public String getEmail(){
return email;
}
}
IAddressService.java
package cn.org.jshuwei.j2ee.test.service;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public interface IAddressService extends IBaseService {
void getAllAddresss();
void getAddressById();
void getAddresssByProperty();
void updateAddress();
void saveAddress();
void deleteAddress();
void getTotal();
}
IBaseService.java
package cn.org.jshuwei.j2ee.test.service;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public interface IBaseService {
void exec(JshuweiContext jshuweiContext);
void execute(JshuweiContext jshuweiContext);
String getServiceId();
}
AddressService.java
package cn.org.jshuwei.j2ee.test.service.impl;
import cn.org.jshuwei.j2ee.test.entity.Address;
import cn.org.jshuwei.j2ee.test.service.IAddressService;
import cn.org.jshuwei.j2ee.test.dao.IAddressDao;
import cn.org.jshuwei.j2ee.test.core.Constant;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
import cn.org.jshuwei.j2ee.util.StringUtil;
import cn.org.jshuwei.j2ee.util.VOUtils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
@Service("addressService")
public class AddressService extends BaseService implements IAddressService {
private JshuweiContext jshuweiContext;
@Autowired
private IAddressDao addressDao;
static final Logger log = Logger.getLogger(AddressService.class);
static final String serviceName = "addressService";
public String getServiceId() {
return Constant.ADDRESS_SERVICE_ID;
}
public void execute(JshuweiContext jshuweiContext) {
this.jshuweiContext = jshuweiContext;
this.jshuweiContext.setTotalNum(addressDao.getAllAddresss().size());
switch (jshuweiContext.getEventCode()) {
case Constant.ADDRESS_SERVICE_GETALL_EVENT:
getAllAddresss();
break;
case Constant.ADDRESS_SERVICE_GETBYID_EVENT:
getAddressById();
break;
case Constant.ADDRESS_SERVICE_GETBYPROPERTY_EVENT:
getAddresssByProperty();
break;
case Constant.ADDRESS_SERVICE_Update_EVENT:
updateAddress();
break;
case Constant.ADDRESS_SERVICE_SAVE_EVENT:
saveAddress();
break;
case Constant.ADDRESS_SERVICE_Delete_EVENT:
deleteAddress();
break;
case Constant.ADDRESS_SERVICE_GETNUM_EVENT:
getTotal();
break;
default:
getAllAddresss();
break;
}
}
public void getAllAddresss(){
try{
Integer[] parms = (Integer[])jshuweiContext.getRequestObj();
List<Address> list = addressDao.getAllAddresss(parms[0],parms[1]);
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnObject(list);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
public void getAddressById(){
try{
Address address = addressDao.loadAddressById(Integer.parseInt(jshuweiContext.getRequestObj()+""));
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnObject(address);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
@SuppressWarnings("unchecked")
public void getAddresssByProperty(){
try{
List parms = (List)jshuweiContext.getRequestObj();
Address address = (Address)parms.get(0);
Integer[] pageParms = (Integer[])parms.get(1);
List<Address> list = addressDao.queryByExample(address,pageParms[0],pageParms[1]);
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnObject(list);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
@SuppressWarnings("unchecked")
public void updateAddress(){
try{
Address address = (Address)jshuweiContext.getRequestObj();
Map<String, String> map = VOUtils.beanToMap(address);
Address newAddress = addressDao.loadAddressById(address.getId());
Class c = newAddress.getClass();
Field[] fields = c.getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
if ("id".equals(fieldName))
continue;
field.setAccessible(true);
Method method = c.getMethod("set"
+ StringUtil.firstToUpper(fieldName), field.getType());
Constructor con = field.getType().getConstructor(String.class);
Object o = con.newInstance(map.get(fieldName));
method.invoke(newAddress, o);
}
addressDao.update(newAddress);
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.Update_SECCESS);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
public void saveAddress(){
try{
addressDao.save(jshuweiContext.getRequestObj());
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.SAVE_SECCESS);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
public void deleteAddress(){
try{
addressDao.delete(addressDao.loadAddressById(Integer.parseInt(jshuweiContext.getRequestObj()+"")));
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.Delete_SECCESS);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
public void getTotal(){
try{
List<Address> list = addressDao.getAllAddresss();
jshuweiContext.setReturnCode(Constant.GOOD_RETURN_CODE);
jshuweiContext.setReturnObject(list);
}catch(Exception e){
log.error(e.getMessage());
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.FAIL_SERVICE_MESSAGE);
}
}
}
BaseService.java
package cn.org.jshuwei.j2ee.test.service.impl;
import cn.org.jshuwei.j2ee.test.core.JshuweiContext;
import cn.org.jshuwei.j2ee.test.service.IBaseService;
import cn.org.jshuwei.j2ee.test.core.Constant;
import org.apache.log4j.Logger;
/**
* Copyright 2009 huwei(jshuwei.org.cn)
* Generate by huwei's generate Util
* 本类由胡伟j2ee自动生成工具生成,欢迎与作者交流讨论,
* <p>联系方式:<br>Web:http://jshuwei.org.cn <br>Email:huwei@jshuwei.org.cn<br>QQ:772627301<p/>
*/
public abstract class BaseService implements IBaseService {
static Logger log = Logger.getLogger(BaseService.class);
public void exec(JshuweiContext jshuweiContext){
String serviceId = this.getServiceId();
String _serviceId = jshuweiContext.getServiceId();
if(!serviceId.equals(_serviceId)){
log.error("目标serviceId:"+_serviceId+",却分发至"+serviceId);
jshuweiContext.setReturnCode(Constant.BAD_RETURN_CODE);
jshuweiContext.setReturnMsg(Constant.BAD_SERVICE_MESSAGE);
return;
}
try{
execute(jshuweiContext);
}catch(Exception e){
log.error(e.getMessage());
}
}
}
省去配置文件和web端代码,实在是太多了,各位还是直接下载源代码直接查看讨论吧!
附件太大了,这里上传不了,只能发到我自己的博客里下载!