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 ...
随机推荐
- WebApi传参总动员(五)
上回说到涉及多个实体的传参,用常规的方法已经不能解决了.这回我们用终极大招搞定她. WebApi:注意要引用JSON.Net [HttpPost] public string GetData(stri ...
- 重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等
[源码下载] 重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等 作者:webabcd ...
- [转]微信公众平台WeChat PHP SDK
地址:https://github.com/dodgepudding/wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用 微信支付接入文档: https://mp. ...
- U-boot的环境变量值得注意的有两个: bootcmd 和bootargs
本文转载至:http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html U-boot的环境变量值得注意的有两个: bootcmd ...
- PHP使用SnowFlake算法生成唯一ID
前言:最近需要做一套CMS系统,由于功能比较单一,而且要求灵活,所以放弃了WP这样的成熟系统,自己做一套相对简单一点的.文章的详情页URL想要做成url伪静态的格式即xxx.html 其中xxx考虑过 ...
- $(document).ready()即$()方法和window.onload方法的比较
以浏览器装载文档为例,我们都知道在页面完毕后,浏览器会通过JavaScript为DOM元素添加事件.在常规的JavaScript代码中,通常使用window.onload方法,而在jQuery中,使用 ...
- windows临界区
临界区: 临界区是一种轻量级机制,在某一时间内只允许一个线程执行某个给定代码段.通常在多线程修改全局数据时会使用临界区.事件.信号量也用于多线程同步,但临界区与它们不同,并不总是执行向内核模式的切换, ...
- android onNewIntent
在Android应用程序开发的时候,从一个Activity启动另一个Activity并传递一些数据到新的Activity上非常简单,但是当您需要让后台运行的Activity回到前台并传递一些数据可能就 ...
- [Xamarin.Android] ActionBar Tips
[Xamarin.Android] ActionBar Tips ActionBar用途 快速搞懂 ActionBar的用途,可以参考下列文章: [Android]使用 ActionBarCompat ...
- Android使用默认样式创建View的几个姿势
以下内容是分析安卓源码所得: 1: 使用默认样式创建View的方式, 源码文件 Button.Java 注:此文参考http://www.linzenews.com/ 中的内容所写,如侵删! 2: ...