- 浏览: 169459 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
单v纯微笑:
您好,能把dbsyn_config_quartz这个表发给我一 ...
定时器(quartz+spring)读取数据库配置 -
fenglingabc:
我用了comet4j 结果因为推送比较频繁(基本上1秒一次), ...
comet4j轮询 -
NeverGiveUpToChange:
nice,还不错哦,谢谢啦!!!
springmvc上传 -
ralfsqual:
自定义的线程中的逻辑每次都是被执行两次,不知道为什么啊。比如打 ...
comet4j轮询 -
goll2012:
我倒,原来要配置tomcat。。。果然是高手,对于只看不动手的 ...
comet4j轮询
DB包装类:
package com.hz.bbs.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DB {
public static Connection getConn() {
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
conn=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/background?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8",
"root", "root");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static Statement getStmt(Connection conn) {
Statement stmt=null;
try {
stmt=conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}
public static PreparedStatement getPstmt(Connection conn ,String sql) {
PreparedStatement pstmt=null;
try {
pstmt=conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static PreparedStatement getPstmt(Connection conn,String sql,int autoGeneratedKeys) {
PreparedStatement pstmt=null;
try {
pstmt=conn.prepareStatement(sql, autoGeneratedKeys);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static int executeUpdate(Connection conn,String sql) {
Statement stmt=null;
int res=0;
try {
stmt=conn.createStatement();
res=stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return res;
}
public static ResultSet getRs(Statement stmt, String sql) {
ResultSet rs=null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
运用包装类,实现增删改查
package com.hz.bbs.dao.impl;
import java.io.Serializable;
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.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.hz.bbs.dao.Dao;
import com.hz.bbs.entity.Board;
import com.hz.bbs.entity.JavaWeb;
import com.hz.bbs.entity.Types;
import com.hz.bbs.entity.User;
import com.hz.bbs.util.DB;
public class Daoimpl implements Dao {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
PreparedStatement pstmt;
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#select(com.hz.bbs.entity.User)
* 登陆用户的查询
*/
@Override
public int select(User user) throws Exception {
int rowcounts = 0;
conn= DB.getConn();
String sql ="select count(*)from bbs_user where username='"+user.getUsername()+"' and userpassword='"+user.getUserpassword()+"' and ischecked="+user.getIschecked();
System.out.println(sql);
stmt=DB.getStmt(conn);
rs= stmt.executeQuery(sql);
while(rs.next()){
rowcounts=rs.getInt("count(*)");//得到查询出的记录 有就为1 反之为0
System.out.println("int:"+rowcounts);
}
return rowcounts;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#insert(com.hz.bbs.entity.Board)
* 版面信息增加
*/
@Override
public void insert(Board board) throws Exception {
try{
conn=DB.getConn();
String sql="insert into bbs_board(board_classID,board_name,board_master,board_pcard) values(?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, board.getBoard_classID());
pstmt.setString(2, board.getBoard_name());
pstmt.setString(3,board.getBoard_master());
pstmt.setString(4,board.getBoard_pcard());
pstmt.executeUpdate();
}catch(Exception e) {
e.printStackTrace();
}
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#selectBoard(java.util.Map)
* 版面信息联合分页查询
*/
@Override
public List<Board> selectBoard(Map<String, Serializable> map) throws Exception {
conn=DB.getConn();
String sql="select board_id,board_classID,board_name,board_master,board_pcard,b.type_value board_className from bbs_board a left join bbs_type b on a.board_classID = b.type_key limit " + map.get("startNum") + "," + map.get("endNum") ;
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
List<Board> newBoardList = new ArrayList<Board>();
while(rs.next()) {
Board board = new Board();
board.setBoard_id(rs.getInt("board_id"));
board.setBoard_classID(rs.getInt("board_classID"));
board.setBoard_className(rs.getString("board_className"));
board.setBoard_name(rs.getString("board_name"));
board.setBoard_master(rs.getString("board_master"));
board.setBoard_pcard(rs.getString("board_pcard"));
System.out.println(rs.getString(5));
newBoardList.add(board);
}
System.out.println("总共"+newBoardList.size()+"条记录");
rs.close();
stmt.close();
conn.close();
return newBoardList;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#delect(com.hz.bbs.entity.Board)
* 根据ID删除版面信息
*/
@Override
public int delect(Board board) throws Exception {
conn=DB.getConn();
stmt=conn.createStatement();
String sql = "delete from bbs_board where board_id=" + board.getBoard_id();
System.out.println("123"+ board.getBoard_id());
int d = stmt.executeUpdate(sql);
if(d==0) {
System.out.println("删除失败");
}
return d;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#updateBoard(com.hz.bbs.entity.Board)
* 根据ID查询版面信息
*/
@Override
public List<Board> updateBoard(Board board) throws Exception {
conn=DB.getConn();
stmt=conn.createStatement();
String sql = "select * from bbs_board where board_id="+board.getBoard_id();
rs = stmt.executeQuery(sql);
List<Board> list = new ArrayList<Board>();
while(rs.next()) {
board = new Board();
board.setBoard_id(rs.getInt("board_id"));
board.setBoard_classID(rs.getInt("board_classID"));
board.setBoard_name(rs.getString("board_name"));
board.setBoard_master(rs.getString("board_master"));
board.setBoard_pcard(rs.getString("board_pcard"));
System.out.println(rs.getString(3));
list.add(board);
}
System.out.println("总共"+list.size()+"条记录");
rs.close();
stmt.close();
conn.close();
return list;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#updateboard(com.hz.bbs.entity.Board)
* 根据ID更新版面信息
*/
@Override
public void updateboard(Board board) throws Exception {
conn=DB.getConn();
stmt=conn.createStatement();
String sql="update bbs_board set board_name='"+board.getBoard_name()+"',board_master='"+board.getBoard_master()+"',board_pcard='"+board.getBoard_pcard()+"' where board_id="+board.getBoard_id();
System.out.println("456"+board.getBoard_master());
System.out.println("789"+board.getBoard_pcard());
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#selectType()
* 查询type表信息
*/
@Override
public List<Types> selectType() throws Exception {
conn=DB.getConn();
stmt=conn.createStatement();
String sql ="select * from bbs_type ";
rs = stmt.executeQuery(sql);
List<Types> list = new ArrayList<Types>();
while(rs.next()) {
Types types= new Types();
types.setType_id(rs.getInt("type_id"));
types.setType_key(rs.getInt("type_key"));
types.setType_value(rs.getString("type_value"));
System.out.println(rs.getString(3));
System.out.println(rs.getString("type_value"));
list.add(types);
}
System.out.println("总共"+list.size()+"条记录");
return list;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#searchForCount(java.util.Map)
* 查询出版面信息的总记录数
*/
@Override
public int searchForCount(Map<String, Serializable> map)throws SQLException {
int total = 0;
conn=DB.getConn();
stmt=conn.createStatement();
String sql=" select count(*) from bbs_board ";
rs= stmt.executeQuery(sql);
while(rs.next()){
total=rs.getInt("count(*)");//得到查询出的记录数
System.out.println("int:"+total);
}
return total;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#searchForType(java.util.Map)
* 查询出type表的记录数
*/
@Override
public int searchForType(Map<String, Serializable> map) throws Exception {
int total=0;
conn=DB.getConn();
stmt=conn.createStatement();
String sql="select count(*) from bbs_type";
rs=stmt.executeQuery(sql);
while(rs.next()) {
total = rs.getInt("count(*)");
System.out.println("type:"+total);
}
return total;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#searchForTypeLimit(java.util.Map)
* 分页查询出type表的信息
*/
@Override
public List<Types> searchForTypeLimit(Map<String, Serializable> map)
throws Exception {
conn =DB.getConn();
stmt=conn.createStatement();
String sql="select * from bbs_type limit " + map.get("startNum") + "," + map.get("endNum") ;
rs=stmt.executeQuery(sql);
List<Types> newTypeList = new ArrayList<Types>();
while(rs.next()) {
Types types = new Types();
types.setType_id(rs.getInt("type_id"));
types.setType_key(rs.getInt("type_key"));
types.setType_value(rs.getString("type_value"));
newTypeList.add(types);
}
System.out.println("总共"+newTypeList.size()+"条记录");
return newTypeList;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#delect(com.hz.bbs.entity.Types)
* 根据ID删除type表的信息
*/
@Override
public int delect(Types types) throws Exception {
conn = DB.getConn();
stmt = conn.createStatement();
String sql = "delete from bbs_type where type_id = " +types.getType_id();
System.out.println(types.getType_id());
int d = stmt.executeUpdate(sql);
if(d==0) {
System.out.println("删除失败");
}
return d;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#updateType(com.hz.bbs.entity.Types)
* 根据ID查询出type表的信息
*/
@Override
public List<Types> updateType(Types types) throws Exception {
conn = DB.getConn();
stmt = conn.createStatement();
String sql = "select * from bbs_type where type_id= "+types.getType_id();
rs = stmt.executeQuery(sql);
List<Types> listType = new ArrayList<Types>();
while(rs.next()) {
types = new Types();
types.setType_id(rs.getInt("type_id"));
types.setType_key(rs.getInt("type_key"));
types.setType_value(rs.getString("type_value"));
listType.add(types);
}
return listType;
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#upadateType(com.hz.bbs.entity.Types)
* 根据ID更新type表的信息
*/
@Override
public void upadateType(Types types) throws Exception {
conn=DB.getConn();
stmt=conn.createStatement();
String sql="update bbs_type set type_key= "+types.getType_key()+",typevalue='"+types.getType_value()+"' where type_id="+types.getType_id();
System.out.println("456"+types.getType_key());
System.out.println("789"+types.getType_value());
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
/*
* (non-Javadoc)
* @see com.hz.bbs.dao.Dao#inserType(com.hz.bbs.entity.Types)
* 添加type表的信息
*/
@Override
public void inserType(Types type) throws Exception {
conn = DB.getConn();
String sql ="insert into bbs_type(type_key,type_value) values(?,?)";
pstmt =conn.prepareStatement(sql);
pstmt.setInt(1, type.getType_key());
pstmt.setString(2, type.getType_value());
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
@Override
public List<Board> selectBoardId(Board boardId)
throws Exception {
conn=DB.getConn();
String sql="select board_classID,board_name,board_master,board_pcard,board_title,board_cont,b.type_value board_className from bbs_board a left join bbs_type b on a.board_classID = b.type_key where board_id= "+boardId.getBoard_id();
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
List<Board> newBoardListId = new ArrayList<Board>();
while(rs.next()) {
Board board = new Board();
//board.setBoard_id(rs.getInt("board_id"));
board.setBoard_classID(rs.getInt("board_classID"));
board.setBoard_className(rs.getString("board_className"));
board.setBoard_name(rs.getString("board_name"));
board.setBoard_master(rs.getString("board_master"));
board.setBoard_pcard(rs.getString("board_pcard"));
board.setBoard_cont(rs.getString("board_cont"));
board.setBoard_title(rs.getString("board_title"));
System.out.println(rs.getString(5));
newBoardListId.add(board);
}
System.out.println("总共"+newBoardListId.size()+"条记录");
rs.close();
stmt.close();
conn.close();
return newBoardListId;
}
发表评论
-
字符串转日期 19080101转成1980-01-01
2014-03-21 22:54 1428public static void main(String[ ... -
excel导入数据--解析(2003与2007兼容)
2013-06-26 14:15 2899excel用java解析,开始的时候不难,但是难就难在2 ... -
java生成16位的MD5值
2013-06-17 14:26 4223这是java实现16位的MD5值的代码。很基础的东西。保 ... -
java 截取ip,获取webservice客户端ip
2012-12-20 09:33 1094小例子,保存一下。做个备份。package test; ... -
java 调用存储过程
2012-12-20 09:28 1108最近做了个项目,是调用别人的存储过程。因为文档弄错了,害的我够 ... -
在JAVA中封装JSON数据
2012-08-03 14:26 24551今天在网上搜了一下封装json数据,自己也验证了一下 ... -
单例模式
2012-03-27 15:49 1029单例模式的俩种方式: 饿汉式 public cla ... -
正则表达式大全
2012-03-23 09:15 906匹配中文字符的正则表达式: [u4e00-u9fa5] 评注: ...
相关推荐
"基于Comsol的采空区阴燃现象研究:速度、氧气浓度、瓦斯浓度与温度分布的二维模型分析",comsol采空区阴燃。 速度,氧气浓度,瓦斯浓度及温度分布。 二维模型。 ,comsol; 采空区; 阴燃; 速度; 氧气浓度; 瓦斯浓度; 温度分布; 二维模型;,"COMSOL模拟采空区阴燃:速度、浓度与温度分布的二维模型研究"
安全驱动的边云数据协同策略研究.pdf
MATLAB代码实现电-气-热综合能源系统耦合优化调度模型:精细电网、气网与热网协同优化,保姆级注释参考文档详可查阅。,MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 参考文档:自编文档,非常细致详细,可联系我查阅 仿真平台:MATLAB YALMIP+cplex gurobi 主要内容:代码主要做的是一个考虑电网、热网以及气网耦合调度的综合能源系统优化调度模型,考虑了电网与气网,电网与热网的耦合,算例系统中,电网部分为10机39节点的综合能源系统,气网部分为比利时20节点的配气网络,潮流部分电网是用了直流潮流,气网部分也进行了线性化的操作处理,代码质量非常高,保姆级的注释以及人性化的模块子程序,所有数据均有可靠来源 ,关键词:MATLAB代码; 电-气-热综合能源系统; 耦合优化调度; 电网; 热网; 气网; 潮流; 直流潮流; 线性化处理; 保姆级注释; 人性化模块子程序; 可靠数据来源。,MATLAB代码:电-气-热综合能源系统耦合优化调度模型(保姆级注释,数据来源可靠)
内容概要:本文详细探讨了人工智能(AI)对就业市场的深远影响及其发展趋势。首先介绍了到2027年,44%的工人核心技能将受技术变革尤其是AI影响的事实,并提及自动化可能取代部分工作的现象。其次指出虽然某些职位面临风险,但也带来了全新的职业机遇与现有角色改进的可能性,关键在于人类要学会借助AI释放自身潜力并培养软实力,以适应快速发展的科技需求。再者,强调终身学习理念下企业和教育培训须革新教学手段与评估机制,以便紧跟AI进化速率,为个体和社会持续注入新动力。最后提到了教育机构应当加快调整步伐以匹配技术变革的速度,并利用AI实现个性化的教育,进而提升学习者的适应能力和解决问题的能力。 适用人群:政策制定者、企业管理层、在职人员及教育工作者,还有广大学生群体均能从中获得启示。 使用场景及目标:面向关注未来职场动向及教育发展方向的专业人士,提供前瞻性思考角度,助力各界积极规划职业生涯路径或调整教育资源分配策略。 其他说明:本文综合多位行业领袖的观点展开讨论,旨在唤起社会各界共同思考AI带来的变革及对策,而非单方面渲染危机感。
2025最新空调与制冷作业考试题及答案.doc
2025最新初级电工证考试题及答案.docx
飞剪PLC控制系统——采用西门子S7-200SMART和触摸屏实现智能化操控及图纸详述,飞锯追剪程序,PLC和触摸屏采用西门子200smart,包含图纸,触摸屏程序和PLC程序。 ,核心关键词:飞锯追剪程序; 西门子200smart; PLC程序; 触摸屏程序; 图纸; 控制系统。,"西门子200smart飞锯追剪系统程序包:含图纸、PLC与触摸屏程序"
使用PyQt6制作的Python应用程序。
三相桥式整流电路双闭环控制策略:电压外环与电流内环协同优化研究,三相桥式整流电路双闭环控制 电流内环 电压外环(也有开环控制) 采用电压电流双闭环控制,在电压、电流控制电路中,电压单环控制易于设计和分析,但是响应速度慢,无限流功能。 而电流环能增强电路稳定性、响应速度快。 三相桥式全控整流电路由整流变压器、阴极相连接的晶闸管(VT1, VT3, VT5)、阳极相连接的晶闸管(VT4, VT6, VT2)、负载、触发器和同步环节组成(如图1),6个晶闸管依次相隔60°触发,将电源交流电整流为直流电。 matlab仿真模型(开闭环都有)控制效果良好,可写报告。 ,三相桥式整流电路;双闭环控制;电流内环;电压外环;开环控制;MATLAB仿真模型。,基于双闭环控制的电压电流三相整流技术分析与Matlab仿真实现
MATLAB四旋翼仿真PID控制:从入门到精通的手把手教学,含QAV方法、模型代码、Simulink布局思路及详细图文说明,MATLAB四旋翼仿真 PID控制,有完全对应的说明文档,专门为初级学习者提供。 不用问在不在,直接拿即可。 亮点: 拥有和模型完全对应的讲解文档,相当于手把手教学。 内容包括: 1.QAV详细方法 2.模型及代码 3.模型2(提供simulink排版布局思路) 4.相关图片 5.使用备注 ,核心关键词:MATLAB四旋翼仿真; PID控制; 完全对应说明文档; 初级学习者; QAV详细方法; 模型及代码; simulink排版布局思路; 相关图片; 使用备注。,"MATLAB四旋翼仿真教程:PID控制详解与手把手教学"
定子磁链控制下的直接转矩控制系统MATLAB仿真研究及结果分析报告,基于定子磁链控制的直接转矩控制系统 MATLAB SIMULINK仿真模型(2018b)及说明报告,仿真结果良好。 报告第一部分讨论异步电动机的理论基础和数学模型,第二部分介绍直接转矩控制的具体原理,第三部分对调速系统中所用到的脉宽调制技术CFPWM、SVPWM进行了介绍,第四部分介绍了MATLAB仿真模型的搭建过程,第五部分对仿真结果进行了展示及讨论。 ,关键词:定子磁链控制;直接转矩控制系统;MATLAB SIMULINK仿真模型;异步电动机理论基础;数学模型;直接转矩控制原理;脉宽调制技术CFPWM;SVPWM;仿真结果。,基于MATLAB的异步电机直接转矩控制仿真研究报告
2025中小学教师编制考试教育理论基础知识必刷题库及答案.pptx
Python游戏编程源码-糖果消消消.zip
三相PWM整流器双闭环控制:电压外环电流内环的SVPWM调制策略及其代码编写详解——动态稳态特性优越的技术参考。,三相PWM整流器双闭环控制,电压外环,电流内环,PLL。 采用SVPWM调制,代码编写。 动态和稳态特性较好,可提供参考资料 ,三相PWM整流器;双闭环控制;电压外环;电流内环;PLL调制;SVPWM调制;动态特性;稳态特性;参考资料,三相PWM整流器双闭环SVPWM调制策略:稳态与动态特性优化参考指南
永磁同步电机滑膜观测器参数识别与仿真研究:转动惯量、阻尼系数及负载转矩的Matlab Simulink仿真分析文章及文档说明,永磁同步电机 滑膜观测器参数识别Matlab simulink仿真 包括转动惯量 阻尼系数 负载转矩 波形很好 跟踪很稳 包含仿真文件说明文档以及文章 ,关键词:永磁同步电机;滑膜观测器;参数识别;Matlab simulink仿真;转动惯量;阻尼系数;负载转矩;波形质量;跟踪稳定性;仿真文件;说明文档;文章。,基于Matlab Simulink仿真的永磁同步电机滑膜观测器参数识别及性能分析
基于永磁涡流的电梯缓冲结构设计.pdf
Python自动化办公源码-28 Python爬虫爬取网站的指定文章
MATLAB下的安全强化学习:利用Constraint Enforcement块训练代理实现目标接近任务,MATLAB代码:安全 强化学习 关键词:safe RL 仿真平台:MATLAB 主要内容:此代码展示了如何使用 Constraint Enforcement 块来训练强化学习 (RL) 代理。 此块计算最接近受约束和动作边界的代理输出的动作的修改控制动作。 训练强化学习代理需要 Reinforcement Learning Toolbox 。 在此示例中,代理的目标是使绿球尽可能靠近红球不断变化的目标位置。 具体步骤为创建用于收集数据的环境和代理,学习约束函数,使用约束强制训练代理,在没有约束执行的情况下训练代理。 ,核心关键词:safe RL; MATLAB代码; Constraint Enforcement 块; 强化学习代理; 绿球; 红球目标位置; 数据收集环境; 约束函数; 约束强制训练; 无约束执行训练。,MATLAB中安全强化学习训练的约束强化代理实现
基于EtherCAT总线网络的锂电池激光制片机控制系统,融合欧姆龙NX系列与威伦通触摸屏的智能制造方案。,锂电池激光模切机 欧姆龙NX1P2-1140DT,威伦通触摸屏,搭载从机扩展机架控制,I输入输出IO模块模拟量模块读取控制卷径计算 汇川IS620N总线伺服驱动器7轴控制,总线纠偏器控制 全自动锂电池激光制片机,整机采用EtherCAT总线网络节点控制, 伺服凸轮同步运动,主轴虚轴控制应用,卷径计算,速度计算,放卷张力控制。 触摸屏设计伺服驱动器报警代码,MC总线报警代码,欧姆龙伺服报警代码 张力摆臂控制,PID控制,等等 触摸屏产量统计,触摸屏故障统计,触摸屏与PLC对接信息交互,触摸屏多账户使用,多产品配方程序,优秀的触摸屏模板。 NX在收放卷控制的设计 欧姆龙NX系列实际项目程序+威纶触摸屏程序+新能源锂电设备 涵盖威纶通人机,故障记录功能,st+梯形图+FB块,注释齐全。 ,"新能源锂电池激光模切机:欧姆龙NX与威纶通触摸屏的智能控制与信息交互系统"
2025装载机理论考试试题库(含答案).pptx