package com.tgl.process.dao; import java.io.Serializable; import java.util.List; public interface BaseDao { /** * 查询 * * @param <T> * @param jql * @return */ public <T> List<T> query(String jql); /** * 通过主键查询 * * @param <T> * @param type * @param id * @return */ public <T> T findById(Class<T> type, Serializable id); /** * 保存 * * @param <T> * @param t */ public <T> void save(T t); /** * 修改 * * @param <T> * @param t */ public <T> void update(T t); /** * 删除 * * @param <T> * @param t */ public <T> void delete(T t); /** * * @return */ public <T> T executeQuery(JpaTemplate<T> jt); /** * * @param jt * @return */ public <T> T executeUpdate(JpaTemplate<T> jt); /** * * @param jt * @return */ public <T> T executeJdbcQuery(JdbcTemplate<T> jt); /** * * @param jt * @return */ public <T> T executeJdbcUpdate(JdbcTemplate<T> jt); }
package com.tgl.process.dao.impl; import java.io.Serializable; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.tgl.process.dao.BaseDao; import com.tgl.process.dao.JdbcTemplate; import com.tgl.process.dao.JpaTemplate; @Repository("baseDao") public class BaseDaoImpl implements BaseDao { @PersistenceContext private EntityManager entityManager; @Autowired private EntityManagerFactory entityManagerFactory; @Override public <T> void delete(T t) { entityManager.remove(t); } @Override public <T> T findById(Class<T> type, Serializable id) { return entityManager.find(type, id); } @SuppressWarnings("unchecked") @Override public <T> List<T> query(String jql) { return entityManager.createQuery(jql).getResultList(); } @Override public <T> void save(T t) { entityManager.persist(t); } @Override public <T> void update(T t) { entityManager.merge(t); } @Override public <T> T executeQuery(JpaTemplate<T> jt) { T t = jt.execute(entityManagerFactory.createEntityManager()); return t; } @Override public <T> T executeUpdate(JpaTemplate<T> jt) { T t = jt.execute(entityManagerFactory.createEntityManager()); return t; } @Override public <T> T executeJdbcQuery(JdbcTemplate<T> jt) { T t = jt.execute(entityManagerFactory.createEntityManager().unwrap(java.sql.Connection.class)); return t; } @Override public <T> T executeJdbcUpdate(JdbcTemplate<T> jt) { T t = jt.execute(entityManagerFactory.createEntityManager().unwrap(java.sql.Connection.class)); return t; } }
package com.tgl.process.service; import java.io.Serializable; import java.util.List; public interface BaseService<T> { /** * 查询 * * @param <T> * @param jql * @return */ public List<T> query(String jql); /** * 通过主键查询 * * @param <T> * @param type * @param id * @return */ public T findById(Class<T> type, Serializable id); /** * 保存 * * @param <T> * @param t */ public void save(T t); /** * 修改 * * @param <T> * @param t */ public void update(T t); /** * 删除 * * @param <T> * @param t */ public void delete(T t); }
package com.tgl.process.service.impl; import java.io.Serializable; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import com.tgl.process.dao.BaseDao; import com.tgl.process.service.BaseService; public class BaseServiceImpl<T> implements BaseService<T> { @Autowired private BaseDao baseDao; @Override public void delete(T t) { baseDao.delete(t); } @Override public T findById(Class<T> type, Serializable id) { return baseDao.findById(type, id); } @Override public List<T> query(String jql) { return baseDao.query(jql); } @Override public void save(T t) { baseDao.save(t); } @Override public void update(T t) { baseDao.update(t); } }
package com.tgl.process.common; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 高级分页返回对象 * * @author 唐超 * */ @SuppressWarnings("unchecked") public class ResultVo { private boolean success=false; // 当前页数 private int pageNo = 1; // 一页有多少条 private int pageSize = 10; // 下一页 private int next; // 上一页 private int previous; // 总页数 private int totalPageSize; // 总条数 private int totalCount; // 获取参数 private Map paraMap = new HashMap(); // 返回结果 private List results=new ArrayList(); //关联数据 private Map linkedData; //可有可无从表数据 private List manyResults ; // 封装返回前台携带的参数 private String paramSql; //外键 private String fkId; //构造方法 public ResultVo() { } //构造方法 public ResultVo(HttpServletRequest requset) { this.setParaMap(requset); } //构造方法 public ResultVo(HttpServletRequest requset,String fkId) { this.setParaMap(requset); this.fkId=fkId; } //返回是否成功 public boolean isSuccess() { return success; } //设置是否成功 public void setSuccess(boolean success) { this.success = success; } //获取当前页数 public int getPageNo() { return pageNo; } //获取分页大小 public int getPageSize() { return pageSize; } //获取当前下一页 public int getNext() { next = pageNo >= totalPageSize ? totalPageSize : pageNo + 1; return next; } //获取分页的总页数 public int getTotalPageSize() { if (totalCount % pageSize == 0) { totalPageSize = totalCount / pageSize; } else { totalPageSize = totalCount / pageSize + 1; } return totalPageSize; } //获取当前下页 public int getPrevious() { previous = pageNo > 1 ? pageNo - 1 : 1; return previous; } //获取当前总条数 public int getTotalCount() { return totalCount; } //获取当前结果集 public List getResults() { return results; } //设置当前结果集 public void setResults(List results) { this.results = results; } //返回超链接参数 public String getParamSql() { return paramSql; } //返回备份数据 public Map getParaMap() { return paraMap; } //设置当前页数 public void setPageNo(int pageNo) { this.pageNo = pageNo; } //设置当前分页大小 public void setPageSize(int pageSize) { this.pageSize = pageSize; } //设置当前总条数 public void setTotalCount(int totalCount) { this.totalCount = totalCount; getTotalPageSize(); getNext(); getPrevious(); } //获取可有可无从表数据 public List getManyResults() { return manyResults; } //设置可有可无从表数据 public void setManyResults(List manyResults) { this.manyResults = manyResults; } //获取外键 public String getFkId() { return fkId; } //设置外键 public void setFkId(String fkId) { this.fkId = fkId; } // 获取关联数据 public Map getLinkedData() { if (this.linkedData == null) { this.linkedData = new HashMap(); } return this.linkedData; } //前台设置参数 public void setParaMap(HttpServletRequest requset) { Map<String, String[]> reqMap = requset.getParameterMap(); if (reqMap.containsKey("pageNo")) { this.pageNo = Integer.parseInt(reqMap.get("pageNo")[0].toString()); } if (reqMap.containsKey("pageSize")) { this.pageSize = Integer.parseInt(reqMap.get("pageSize")[0].toString()); } StringBuffer sb = new StringBuffer(); int n = 1; for (String key : reqMap.keySet()) { if (!"pageNo".equals(key) && !"pageSize".equals(key)) { n = reqMap.get(key).length; if (n == 1) { this.paraMap.put(key, reqMap.get(key)[0]); } else { for (int i = 0; i < n; i++) { sb.append(reqMap.get(key)[i] + ","); } sb.delete(sb.length() - 1, sb.length()); this.paraMap.put(key, sb.toString()); sb.delete(0, sb.length()); } } } for (Object param : this.paraMap.keySet()) { sb.append(param.toString() + "=" + this.paraMap.get(param) + "&"); } if (sb.length() > 0) { sb.delete(sb.length() - 1, sb.length()); } this.paramSql = sb.toString(); this.paraMap.put("startNum", ((this.pageNo - 1) * this.pageSize)+1); this.paraMap.put("endNum", this.pageSize * this.pageNo); } //设置数据库的分页参数 public void setDataBase() { this.paraMap.put("startNum", ((this.pageNo - 1) * this.pageSize)+1); this.paraMap.put("endNum", this.pageSize * this.pageNo); } //输出json public void toJson(HttpServletResponse resp) throws IOException { resp.setContentType("application/json;charset=UTF-8"); resp.setCharacterEncoding("UTF-8"); JsonUtil.toMap(this, resp.getWriter()); } }
package com.tgl.process.common; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.JavaType; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("unchecked") public class JsonUtil { //@JsonIgnoreProperties (value = {"urbanRoadInfo"})不输出关联对象 private static ObjectMapper om = new ObjectMapper(); static { om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd")); } public static void setFormatYYY() { om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd")); } public static void setFormatYYYSS() { om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); } public static ObjectMapper getOm() { return om; } public static String toJson(Object ob) { try { return om.writeValueAsString(ob); } catch (Exception e) { e.printStackTrace(); } return ""; } public static List<Map> toListMap(String ob) { try { return om.readValue(ob, List.class); } catch (Exception e) { e.printStackTrace(); } return null; } public static <T> List<T> toListJavaBean(Class<T> type, String ob) { try { return om.readValue(ob, getCollectionType(ArrayList.class, type)); } catch (Exception e) { e.printStackTrace(); } return null; } public static Map toMap(String ob) { try { return om.readValue(ob, Map.class); } catch (Exception e) { e.printStackTrace(); } return null; } public static LinkedHashMap toLinkedHashMap(String ob) { try { return om.readValue(ob, LinkedHashMap.class); } catch (Exception e) { e.printStackTrace(); } return null; } public static void toMap(Object ob, Writer w) { try { om.writeValue(w, ob); } catch (Exception e) { e.printStackTrace(); } } public static void toWriter(Object ob, HttpServletResponse resp) { try { resp.setContentType("application/json;charset=UTF-8"); resp.setCharacterEncoding("UTF-8"); om.writeValue(resp.getWriter(), ob); } catch (Exception e) { e.printStackTrace(); } } public static JavaType getCollectionType(Class<?> collectionClass,Class<?>... elementClasses) { return om.getTypeFactory().constructParametricType(collectionClass,elementClasses); } public static void main(String[] args) { List<Map> map = JsonUtil .toListMap("[{'phone' : '','businessType' : 4,'registrationNo' : '', 'companyName' : '感觉可不能入','registeredCapital' : null,'business' : '发把附表二额二人','addresss' : '','id' : 3, 'businessTerm' : '','registeredAddress' : '', 'createDate' : '2013-08-20','legalRepresentative' : '分设备股份巴塞罗那','registrationAgency' : null}]" .toString().replaceAll("'", "\"")); System.out.println(map); } }
package com.piend.tongzhan.common; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; /** * Bean对象与Map相互转换 * * @author 唐超 * */ @SuppressWarnings("unchecked") public class JavaBean2Map { public static Map<String, Object> convertBean(Object bean) { Map<String, Object> map = new HashMap<String, Object>(); Field fields[] = bean.getClass().getDeclaredFields(); try { Field.setAccessible(fields, true); for (int i = 0; i < fields.length; i++) { map.put(fields[i].getName(), fields[i].get(bean)); } } catch (Exception e) { e.printStackTrace(); } return map; } public static Object convertMap(Class<?> type, Map<String, Object> map) { Object ob = null; try { if (map != null && map.size() > 0) { ob = type.newInstance(); Field fields[] = type.getDeclaredFields(); Field.setAccessible(fields, true); for (int i = 0; i < fields.length; i++) { if (map.containsKey(fields[i].getName())) { fields[i].set(ob, map.get(fields[i].getName())); } } } } catch (Exception e) { e.printStackTrace(); } return ob; } public static Map convertBean1(Object bean) throws IntrospectionException, IllegalAccessException, InvocationTargetException { Class type = bean.getClass(); Map returnMap = new HashMap(); BeanInfo beanInfo = Introspector.getBeanInfo(type); PropertyDescriptor[] propertyDescriptors = beanInfo .getPropertyDescriptors(); for (int i = 0; i < propertyDescriptors.length; i++) { PropertyDescriptor descriptor = propertyDescriptors[i]; String propertyName = descriptor.getName(); if (!propertyName.equals("class")) { Method readMethod = descriptor.getReadMethod(); Object result = readMethod.invoke(bean, new Object[0]); if (result != null) { returnMap.put(propertyName, result); } else { returnMap.put(propertyName, ""); } } } return returnMap; } public static Object convertMap1(Class type, Map map) throws IntrospectionException, IllegalAccessException, InstantiationException, InvocationTargetException { BeanInfo beanInfo = Introspector.getBeanInfo(type); Object obj = type.newInstance(); PropertyDescriptor[] propertyDescriptors = beanInfo .getPropertyDescriptors(); for (int i = 0; i < propertyDescriptors.length; i++) { PropertyDescriptor descriptor = propertyDescriptors[i]; String propertyName = descriptor.getName(); if (map.containsKey(propertyName)) { Object value = map.get(propertyName); Object[] args = new Object[1]; args[0] = value; descriptor.getWriteMethod().invoke(obj, args); } } return obj; } }
package com.piend.tongzhan.common; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.piend.tongzhan.common.util.JsonUtil; @SuppressWarnings("unchecked") public class JsonVo { // 前台 参数开始页 private Integer start = 0; // 前台 参数分页大小 private Integer limit = 20; // 前台 参数 private Map<String, Object> paraMap = new HashMap<String, Object>(); // 返回jsonMap private Map<String, Object> reJson = new HashMap<String, Object>(); // 返回数据 private List results; // 返回查询的总条数 private Integer totalCount = 0; public Integer getTotalCount() { return totalCount; } public void setTotalCount(Integer totalCount) { this.totalCount = totalCount; } public List getResults() { return results; } public void setResults(List results) { this.results = results; } public Map<String, Object> getParaMap() { return paraMap; } public void setParaMap(HttpServletRequest requset) { Map<String, Object[]> reqMap = requset.getParameterMap(); if (reqMap.containsKey("start")) { this.start = Integer.parseInt(reqMap.get("start")[0].toString()); } if (reqMap.containsKey("limit")) { this.limit = Integer.parseInt(reqMap.get("limit")[0].toString()); } StringBuilder sb = new StringBuilder(); int n = 1; for (String key : reqMap.keySet()) { n = reqMap.get(key).length; if (n == 1) { this.paraMap.put(key, reqMap.get(key)[0]); } else { for (int i = 0; i < n; i++) { sb.append(reqMap.get(key)[i] + ","); } sb.delete(sb.length() - 1, sb.length()); this.paraMap.put(key, sb.toString()); sb.delete(0, sb.length()); } } if (sb.length() > 0) { sb.delete(0, sb.length()); } this.paraMap.remove("start"); this.paraMap.remove("limit"); this.paraMap.put("firstResult", this.start); this.paraMap.put("maxResults", this.limit); } public void toJson(HttpServletResponse resp) throws IOException { resp.setContentType("application/json;charset=UTF-8"); resp.setCharacterEncoding("UTF-8"); reJson.put("totalCount", this.totalCount); reJson.put("success", true); reJson.put("results", this.results); JsonUtil.toMap(this.reJson, resp.getWriter()); } @Override public String toString() { reJson.put("totalCount", this.totalCount); reJson.put("success", true); reJson.put("results", this.results); return JsonUtil.toJson(this.reJson); } }
public boolean saveOrUpdateBathSql(List<String> excuteUpdateSql) { boolean flag = false; java.sql.Statement st = null; try { conn.setAutoCommit(false); st = conn.createStatement(); if (excuteUpdateSql.size() > 0) { for (int i = 0; i < excuteUpdateSql.size(); i++) { st.addBatch(excuteUpdateSql.get(i)); } } st.executeBatch(); conn.commit(); conn.setAutoCommit(true); flag = true; return flag; } catch (SQLException e) { System.out.println("---------------------------有出错信息-----------------------------------:"); LoginUtil.error(logger,"Sqlite批量执行常", e.getMessage()); try { if (conn != null) { conn.rollback(); conn.setAutoCommit(true); } } catch (SQLException e1) { LoginUtil.error(logger,"Sqlite批量执行回滚异常", e1.getMessage()); } return flag; } finally { try { if (st != null) { st.close(); } } catch (SQLException e1) { LoginUtil.error(logger,"Sqlite批量执行关闭异常", e1.getMessage()); } } }
相关推荐
标题“桌面web工具类1”指的是在开发JavaWeb应用程序时,用于处理桌面环境相关的工具类集合。这些工具类通常包含了对桌面操作系统的交互逻辑,如文件操作、系统通知、桌面快捷方式创建等,以增强Web应用在桌面环境下...
Java Web开发工具类主要指的是在构建Web应用程序时使用的各种实用工具和框架,这些工具和框架极大地简化了开发过程,提高了代码的可维护性和可扩展性。Struts2是其中非常著名的MVC(Model-View-Controller)框架,它...
Web 相关工具类 除了文件资源操作,Spring 还提供了丰富的 Web 相关工具类,帮助开发者更高效地处理 HTTP 请求、响应以及会话管理等问题。以下是一些常用的 Web 工具类: 1. **HttpEntity** 和 **ResponseEntity**...
本文将详细解析"java开发常用工具类"中的关键知识点,包括日历、时间处理、Excel导出、网络请求、流操作、数据处理、数值计算以及XML和Web工具类。 1. **日历和时间处理**: Java中`java.util.Calendar`和`java....
在这个场景下,"WebServices接口调用的代码工具类Util"是一个专门用于简化Web Services接口调用的Java类库。这个工具类简化了开发人员与Web Services之间的交互过程,提高了开发效率。 首先,我们来理解一下Web ...
web 项目中的各种工具类 Bean2MapUtil 实体bean的数据转到map中 BeanUtil 拷贝一个bean中的非空属性于另一个bean中 CopyOfJExcelUtils excel 工具类 DateUtil 时间工具类 FileUtils 文件工具类 JExcelUtils excel ...
在Web开发过程中,工具类(Tools)扮演着重要的角色,它们提供了一系列静态方法,帮助开发者高效地处理常见的任务。以下是一些在标题和描述中提到的工具类的详细说明: 1. **DateUtils**: 这个类通常用于日期和时间...
本文档中主要是web dynpro应用中开发的相关工具类的集合(需要使用文档请邮件联系),里面主要包括数据库快速应用,ce7.1表格排序过滤快速构造,节点与数据库快速绑定,动态RFC应用,动态webservice应用,数据交换服务...
WebAPI工具类是开发Web服务时的一个重要辅助组件,它主要负责封装常见的API操作,以简化接口调用和数据处理过程。在WebAPI项目中,我们可能会遇到各种问题,如参数传递、数据序列化与反序列化、错误处理、认证与授权...
在Web开发领域,工具类是提高开发效率和代码质量的重要组成部分。这些工具类通常封装了常见操作,使得开发者可以快速地处理各种问题,而无需关注底层实现细节。在这个"web开发相关的工具类"中,我们可以看到一些关键...
本压缩包"java写的几种方便web开发工具类源码"提供了多种功能,涵盖了数据转换、数据库连接、邮件发送、验证码生成以及编码过滤和加密解密等关键领域,对于Web开发工作极具价值。 首先,让我们深入了解一下其中的几...
JavaScript 后台调用工具类是一种实用的编程资源,它为开发者提供了在后台环境中使用 JavaScript 进行操作的便利。这个工具类旨在简化JavaScript代码,让开发者能够更高效地进行项目开发,尤其对于不熟悉JavaScript...
验证码生成工具类是一种在Web应用中广泛使用的安全机制,它主要用于防止自动化的恶意操作,比如机器人注册、垃圾邮件发送等。这个工具类是用Java语言编写的,因此我们可以深入探讨一下Java验证码生成的相关技术和...
标题提到的"C# Web常用工具类、asp.net常用类"指的是开发者们在构建Web应用程序时经常会用到的一些实用类库。这些类库通常包含了处理HTTP请求、响应、数据绑定、用户会话、状态管理等多种功能,极大地提高了开发效率...
3. **文件上传工具类**:文件上传是Web应用中的常见功能,Java提供了Servlet API来处理文件上传请求。Apache的Commons FileUpload库提供了一套方便的工具类,可以解析多部分请求,将文件保存到服务器。这类工具类...
C# Util中的Json工具类通常提供了序列化和反序列化JSON对象的方法,如将C#对象转换为JSON字符串,或者将JSON字符串解析为C#对象,这在处理API请求或保存配置文件时非常有用。 2. **Net**: 这部分可能包含网络通信...
使用Java调用webservice服务,工具类中获取天气服务,可根据官方api进行修改
C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...
PageUtils是一个Java工具类,用于简化分页逻辑的处理。它包含以下两个主要部分: 1. PageInfo 内部类:这是一个泛型类,封装了分页所需的信息,包括当前页码、页面大小、总页数、总记录数和当前页的记录列表。 2. ...