BaseDao
public class BaseDao {
private static Log logger = LogFactory.getLog(BaseDao.class);
// 查询数据
public void selectSql(String sql, Object[] obj) {
try {
PreparedStatement stmt = null;
Connection conn = null;
conn = ConnectionTools.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sql);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
int key = i + 1;
stmt.setObject(key, obj[i]);
}
}
stmt.executeUpdate();
conn.commit();
stmt.close();
} catch (Exception e) {
logger.error("查询出错:", e);
}
}
public void executeUpdate(String sql) {
executeUpdate(sql, null);
}
public void executeUpdate(String sql, Object obj[]) {
try {
PreparedStatement stmt = null;
Connection conn = null;
conn = ConnectionTools.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sql);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
int temp = i + 1;
stmt.setObject(temp, obj[i]);
}
}
stmt.executeUpdate();
conn.commit();
stmt.close();
} catch (Exception e) {
logger.error("保存出错:", e);
}
}
public int addDate(String sql, Object[] obj) {
int key = 0;
try {
PreparedStatement stmt = null;
Connection conn = null;
conn = ConnectionTools.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
int temp = i + 1;
stmt.setObject(temp, obj[i]);
}
}
stmt.executeUpdate();
ResultSet rs = stmt.getGeneratedKeys();
if (rs.next()) {
key = rs.getInt(1);
}
conn.commit();
stmt.close();
} catch (Exception e) {
logger.info("保存出错:", e);
}
return key;
}
// 删除表
public void deleteTable(String tableName) {
StringBuffer dropTableSql = new StringBuffer();
dropTableSql.append("DROP TABLE IF EXISTS `" + tableName + "`");
executeUpdate(dropTableSql.toString());
}
// 创建一个表
public void makeTableSql(String tableName, Map<String, String> cloumNames) {
StringBuffer createTableSQL = new StringBuffer();
createTableSQL.append("CREATE TABLE " + tableName + " (");
createTableSQL.append(" id int(11) NOT NULL AUTO_INCREMENT,");
Set<String> cs = cloumNames.keySet();
for (String e : cs) {
String t = cloumNames.get(e);
e = e.replaceAll("(?i)[^a-zA-Z0-9\u4E00-\u9FA5]", "");
if (e.trim().isEmpty()) {
continue;
}
if (e.contains("detailurl")) {
createTableSQL.append(e + " varchar(255) DEFAULT NULL,");
// } else if (t.length() > 10 && t.length() < 255) {
//
// createTableSQL.append(e + " varchar(255) DEFAULT NULL,");
//
} else {
createTableSQL.append(e + " text DEFAULT NULL,");
}
}
createTableSQL.append("TIME datetime NOT NULL , ");
createTableSQL.append(" PRIMARY KEY (id) , UNIQUE KEY (detailurl)");
createTableSQL.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8;");
executeUpdate(createTableSQL.toString());
}
// 插入数据
public void insertSql(String tableName, Map<String, String> cloumNames) {
StringBuffer insertSQL = new StringBuffer();
insertSQL.append("insert into " + tableName + " (");
Set<String> cs = cloumNames.keySet();
StringBuffer keys = new StringBuffer();
StringBuffer values = new StringBuffer();
for (String e : cs) {
String value = cloumNames.get(e);
e = e.replaceAll("(?i)[^a-zA-Z0-9\u4E00-\u9FA5]", "");
keys.append(e + ",");
values.append("'" + value + "',");
}
insertSQL.append(keys.toString());
insertSQL.append(" TIME) values (");
insertSQL.append(values.toString());
insertSQL.append(" NOW())");
executeUpdate(insertSQL.toString());
}
BaseDao的更多相关文章
- 【01-05】hibernate BaseDao
BaseDao接口定义 package org.alohaworld.util.dao; import java.io.Serializable; import java.util.List; imp ...
- orm映射 封装baseDao
是用orm映射封装自己封装dao层 思路:通过映射获得实体类的属性拼接sql语句 import java.lang.reflect.Field; import java.lang.reflect.In ...
- BaseDao代码,用于连接数据库实行增删改查等操作
在学习JavaWeb时会用到此代码,用于实行增删改查操作 1 package com.bdqn.dao; import java.sql.Connection; import java.sql.Dri ...
- java项目常用 BaseDao BaseService
java项目常用 BaseDao BaseService IBaseDao 1 package com.glht.sim.dao; 2 3 import java.util.List; 4 5 6 ...
- ssh注解basedao简单的实现
@Repository public class BaseDao extends HibernateDaoSupport{ protected Class objectClass; protected ...
- baseDao 使用spring3+hibernate4方式
启动异常: java.lang.ClassCastException: org.springframework.orm.hibernate4.SessionHolder cannot be cast ...
- baseDao 使用spring3+hibernate3方式
package cn.zk.pic.service.dao; import java.io.Serializable; import java.util.List; import java.util. ...
- 一种好的持久层开发方法——建立BaseDao和BaseDaoImpl
使用hibernate开发持久层时,我们会发现:虽然entity类的含义和需求不同,其对应的Dao层类对应的方法也是不同的.但是有许多方法操作确实相同的.比如实体的增加,删除,修改更新,以及许多常用的 ...
- Hibernate的BaseDao辅助类
1.BaseDao接口类,该类封装了一些hibernate操作数据库的一些常用的方法,包括分页查询,使用该类极大的简化了hibernate的开发 BaseDao.java package com.kj ...
随机推荐
- ASP.NET运行时详解 生命周期入口分析
说起ASP.NET的生命周期,网上有很多的介绍.之前也看了些这方面的博客,但我感觉很多程序猿像我一样,看的时候似乎明白,一段时间过后又忘了.所以,最近Heavi花了一段时间研究ASP.NET的源代码, ...
- JS 生成26个大小写字母
主要用到 str.charCodeAt()和 String.fromCharCode()方法 -->使用 charCodeAt() 来获得字符串中某个具体字符的 Unicode 编码. --&g ...
- 重构第14天 分离职责(Break Responsibilities)
理解:面向对象的五大特征: SOLID,其中S就是职责单一原则.分离职责指当一个类有许多职责时,将部分职责分离到独立的类中,这样也符合面向对象的五大特征之一的单一职责原则,同时也可以使代码的结构更加清 ...
- csharp:Compare two DataTables to rows in one but not the other
/// <summary> /// 账面数据 Accounting /// </summary> /// <returns></returns> Dat ...
- python代码风格-PEP8
转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...
- PHP(1)——学习之前做点啥准备
工欲善其事必先利其器,当然是先准备工具咯.首先硬件条件就是双核CPU以及8G内存的电脑一台,操作系统环境:windows(64bit)7+.Mac OSX 10.10+.Linux 64bit.软件环 ...
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— Angularjs名词与概念(一)
目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 2. 前言 Angularjs开发CRUD类型的 ...
- SharpGL学习笔记(十四) 材质:十二个材质球
材质颜色 OpenGL用材料对光的红.绿.蓝三原色的反射率来近似定义材料的颜色.象光源一样,材料颜色也分成环境.漫反射和镜面反射成分,它们决定了材料对环境光.漫反射光和镜面反射光的反射程度.在进行光照 ...
- 关于SharePoint 的Client object model该何时load和execut query的一点自己的看法
很多人在用client object model的时候,不知道何时或者该不该load,今天看到一个观点描述这个问题,觉得很有道理,和大家分享.那就是写client object model就像写sql ...
- 利用在线工具自动化生成findviewById
我们在编码的时候经常会用到findviewById,不厌其烦,我之前介绍过一个很取巧的方法,挺好用的,这里再贴一下: public class KaleBaseActivity extends Act ...