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 ...
随机推荐
- 用C#开发的双色球走势图(二)
昨晚由于时间的原因只写了一部分内容,今天将这一部分内容补充完毕,多谢各位园友的支持. 这是用C#开发的双色球走势图(一)新的园友可以看昨晚写的内容,以免脱节.首先回复园友的评论,有说好的有说不好的,本 ...
- 重新想象 Windows 8 Store Apps (71) - 其它: C# 调用 C++
[源码下载] 重新想象 Windows 8 Store Apps (71) - 其它: C# 调用 C++ 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 其它 C# ...
- u-boot移植总结(四)u-boot-2010.09框架分析
(一)本次移植是基于FL2440,板子的基本硬件: CPU 型号为S3C2440,基于ARM920T,指令集ARMV4,时钟主频400MHz SDRAM H57V2562GTR-75C 2片*32MB ...
- Json Utils
import java.util.List;import java.util.Map; import net.sf.json.JSONArray;import net.sf.json.JSONObje ...
- C语言范例学习02
第二章 指针 算是重点吧,这也是C语言的特色啊,直接访问物理存储. 重点: 指针就是一个存放它指向变量地址的变量,好绕口. 区分*在定义是与引用是的作用. 区分*.&的不同. 指针 ...
- PHP学习笔记:MySQL数据库的操纵
Update语句 Update 表名 set 字段1=值1, 字段2=值2 where 条件 练习: 把用户名带 ‘小’的人的密码设置为123456@ 语句:UPDATE crm_user SE ...
- 六个创建模式之单例模式(Singleton Pattern)
定义: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.三个特点:一个类只有一个实例:必需自己创建这个实例:必需自行向整个系统提供这个实例. 结构图: Singleton:单例类,提 ...
- linux多线程-互斥&条件变量与同步
多线程代码问题描述 我们都知道,进程是操作系统对运行程序资源分配的基本单位,而线程是程序逻辑,调用的基本单位.在多线程的程序中,多个线程共享临界区资源,那么就会有问题: 比如 #include < ...
- EntityFramework学习
本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的 ...
- CSS 去掉inline-block元素间隙的几种方法
最近做移动端页面时,经常会用到inline-block元素来布局,但无可避免都会遇到一个问题,就是inline-block元素之间的间隙.这些间隙会导致一些布局上的问题,需要把间隙去掉.对于inlin ...