package com.zhuyang.test;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import com.halamadrid.po.NewsPO;
public class DAOUtil {
// private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
// private static final String URL =
// "jdbc:mysql://mysql.sql86.cdncenter.net:3306/sq_halamadrid?setUnicode=true&characterEncoding=utf8";
// private static final String USER_NAME = "sq_halamadrid";
// private static final String PASSWORD = "realmadrid1902";
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/MySQL";
private static final String USER_NAME = "root";
private static final String PASSWORD = "881104";
private static Connection conn;
private static PreparedStatement statement;
private static CallableStatement callableStatement;
private static ResultSet resultSet;
public static Connection getConnection() throws Exception {
ConnectionPool connPool = new ConnectionPool(DRIVER_NAME, URL,
USER_NAME, PASSWORD);
connPool.createPool();
Connection conn = connPool.getConnection();
// Class.forName(DRIVER_NAME);
// conn = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
return conn;
}
public static PreparedStatement getStatement(String sql) throws Exception {
statement = getConnection().prepareStatement(sql);
return statement;
}
public static CallableStatement getCallableStatement(String sql)
throws Exception {
callableStatement = getConnection().prepareCall(sql);
return callableStatement;
}
public static Object callFunction(String sql, Object[] params)
throws Exception {
Object obj = null;
CallableStatement callableStatement = getCallableStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
callableStatement.setObject(i + 1, params[i]);
}
}
ResultSet resultSet = callableStatement.executeQuery();
while (resultSet.next()) {
obj = resultSet.getObject(1);
}
return obj;
}
public static int updateData(String sql, Object[] params) throws Exception {
getConnection().setAutoCommit(false);
int rows = 0;
PreparedStatement statement = getStatement(sql);
for (int i = 0; i < params.length; i++) {
statement.setObject(i + 1, params[i]);
}
statement.execute();
return rows;
}
/**
*
* @param sql
* sql statement
* @param params
* @param cls
* which class should be returned
* @return
* @throws Exception
*/
public static List searchData(String sql, Object[] params, Class cls)
throws Exception {
List list = new ArrayList();
Object result = null;
PreparedStatement statement = getStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
statement.setObject(i + 1, params[i]);
}
}
resultSet = statement.executeQuery();
while (resultSet.next()) {
Field fields[] = cls.getDeclaredFields();
Object objectCopy = cls.getConstructor(new Class[] {}).newInstance(
new Object[] {});
for (Field field : fields) {
field.setAccessible(true);
String fieldName = field.getName();
Object dbValue = resultSet.getObject(fieldName);
String setMethodName = "set"
+ StringUtils.capitalise(fieldName);
Method setMethod = cls.getDeclaredMethod(setMethodName, field
.getType());
setMethod.invoke(objectCopy, new Object[] { dbValue });
}
list.add(objectCopy);
}
return list;
}
public static void close() {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 查询所总条数
public static int totalCount(String tableName, Object[] params) {
String sql = "select count(*) from " + tableName;
int count = 0;
try {
statement = getConnection().prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
statement.setObject(i + 1, params[i]);
}
}
resultSet = statement.executeQuery();
if (resultSet.next()) {
count = resultSet.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
public static void main(String[] args) throws Exception {
StringBuffer html =new StringBuffer();
System.out.println(listComments() );
List<CommentPO> listComments = DAOUtil.listComments();
List<CommentPO> quoteList=new ArrayList();
for(CommentPO comments :listComments ){
quoteList =addComment(listComments,quoteList,comments);
}
for(CommentPO po:quoteList){
System.out.println("+++++");
System.out.println("找到=="+po.getId() + "comment id"+po.getCommentid());
System.out.println("===========");
html.append("原帖 ").append(po.getUsername()).append("内容 :").append(po.getContent());
}
System.out.println(html);
}
protected static List addComment(List<CommentPO> list, List<CommentPO> quoteList,CommentPO comments) {
if(comments.getCommentid()!=null ){
for(CommentPO comment :list ){
if(comments.getId().equals(comment.getCommentid())){
//System.out.println("找到=="+comment.getId() + "comment id"+comment.getCommentid());
quoteList.add(comment);
addComment(list, quoteList, comment);
}
}
return quoteList;
}
return quoteList;
}
public static List<CommentPO> listComments() {
List<CommentPO> list;
try {
String sql ="select * from commenttest order by id desc";
list = DAOUtil.searchData(sql, null, CommentPO.class);
return list;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
分享到:
相关推荐
对于金士顿sss6691的量产,本人也在网上找了好多,发现很多是只支持以下主控和FLASH 1 6677 + CM Flash 2 6677 + Normal Flash 3 6677 + USB Disk AND CDROM 4 6690 + IM 34nm Normal Flash 5 6690 + SanDisk 43nm ...
鑫创SSS量产工具,亲测下面u盘可用 ================================ 设备描述: [I:]USB Mass Storage Device(Kingston DT 101 II) 设备类型: 大容量存储设备 协议版本: USB 2.00 当前速度: 高速(High...
SSS1700是3S高度集成的单片USB音频控制器,带有片上振荡器 将外部12MHz晶体组件保存在耳机应用程序中。SSS1700功能支持 96 KHz 24位采样率,带外部音频编解码器(24位/96 KHz I2S输入和输出),并具有 内置立体声...
sss技术方案2
SSS1700规格书,SSS1630升级版,USB音频芯片,USB声卡芯片设计规格书,2021鑫创推出的SSS1700单颗芯片支持USB音频输入,耳机输出,支持美标/国标自动切换, 带线控功能的高性价比USB音频芯片方案
鑫创(SSS) sss6690/sk6611 量产工具
sss1530是3S高度集成的单芯片USB音频控制器的片上振荡器保存外部12MHz晶体成分。sss1530功能立体声16位ADC,立体声16位DAC、耳机驱动,5波段硬件均衡器,音频锁相环时钟振荡器,USB,USB FS控制器和物理层。外部...
台湾鑫创SSS6675-SSS6677_U盘量产图文教程
台湾鑫创推出SSS1623,SSS1629,全面兼容替代台湾骅讯\创舰相型号,是一款性价比更高,理稳定,更优良的USB耳机IC,USB喇叭IC, USB音箱IC, USB游戏耳机IC,我司是台湾鑫创一级代理, 可全程协助客户开发与订制,我司的产最新...
Piano utility for sss vhdl
SSS1630A1-U6D,SSS1630A1-U6D规格书,SSS1630设计资料,SSS1630A1-U6D规格书和设计资料
亲测有效金士顿SSS6691/SK6215主控U盘的量产工具简单教程: 1 6691 Kingston G3 43nm D2 CDROM Flash(量产CDROM启动盘 可移动盘) 2 6691 Kinston G3 Normal Flash(仅量产可移动盘)如果想量产CDROM...
SSS(鑫创) 芯片型号: SSS6691-B3闪存识别码: 98D79432 - Toshiba(东芝) - 2CE/单通道 [MLC-8K] -> 总容量 = 8GB由上面可以看出,这个U盘用的是SSS6691-B3的芯片,所以我们只要找到SSS6691-B3的量产...
sss量产修复工具
SSS扫描器 SSS扫描器 SSS扫描器
sss6690量产工具量产CDROM记得修改6690_D2.INI文件。CDROM_ISO= 这里要修改一下,指向正确的量产ISO路径。这个是用在TSB D2 MLC,大家先试试看,也请大家发布测试报.TSB D3 TLC 的固件,还要再跟原厂工程师问看看....
SSS6677-A7量产工具优盘启动盘制作工具使用教程: http://www.liangchan.net/liangchan/3250.html
1. SSS PTS V2.0.2中文翻译版
1.领域:matlab,polar编解码PSS-SSS联合检测算法 2.内容:基于polar编解码的联合检测,仿真输出PSS-SSS联合检测成功率以及BER和BLER.+代码操作视频 3.用处:用于polar编解码算法编程PSS-SSS联合检测学习 4.指向...
SSS1623,鑫创一级代理,SSS1623规格书,SSS1623设计方案,SSS1623USB耳机方案,台湾鑫创代理商