Mysql通用查询操作类(Jsp+servlet+javaBean+Mysql)
在腾科培训了有1个半月了,终于学完JSP+SERVLET+JAVABEAN+MYSQL,学了java的第一套web解决方案。老师要求我们6人一组开始做一个订餐系统。这个系统没有什么特别的,就跟电子商城是一个样的。由于要对数据库做大量的增删改查,那个代码又多,我想能不能将数据库操作的这一层打包起来(SqlOperDao),让我对数据库操作,用几行代码就搞定的。然后我只修改sql语句,和传进来的参数就可以了。
增删改属于一类操作,都是不返回结果集的,而查找是要返回结果集的
1)先说增删改的操作
public int buildConn(String sql)throws Exception{
Connection conn=null;
Statement stmt=null;
int result=0;
boolean flag;
try{
conn=sqlconn.conn();
stmt=conn.createStatement();
result=stmt.executeUpdate(sql);
System.out.println("恭喜你执行成功"+result+"条记录!");
flag=true;
}catch(Exception e){
System.out.println("抱歉!执行失败!"+e.getMessage());
flag=false;
}finally{
stmt.close();
conn.close();
}
return result;
}
2)而对于查询操作的就比较麻烦一点,通常我们都将查询的结果集打包到一个javabean组合中,例如我有一个登陆的javabean里面只有name和password,对应的表中user_list的两列name,password.现在要将user_list中的所有数据读出来,读出一条,就放到一个javabean中,多条数据就放到List<javabean>中。首先我们可以讲数据库中的所有数据都用读取字符串的形式getString的方法读出来,当然如果数据库中表的列的属性不是varchar类型,就不可以用此类方法。
本通用查询只针对都是String类型的表。
/**
* 通用查询,传入要查询的sql语句
* 返回一个List<String[]>
*/
public List<String[]> query(String sql) throws Exception{
this.queryList=new ArrayList<String[]>();
Statement stmt = null;
ResultSet rs = null;
Connection conn=null;
&n
相关文档:
<html>
<head id="Head1" runat="server">
<title>无标题页 </title>
<script type="text/javascript">
function MultiSelector(list_target, max)
{
// Where to write the list
  ......
<jsp:directive.page import="zero.space.ch03.BookBean"/>
相当于
<%@ page import="zero.space.ch03.BookBean" %>
但是也有区别:两个用法的作用范围不同,<%@ page import="zero.space.ch03.BookBean" %> 可用于多个页面内而<jsp:dir ......
里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql> SELECT something from table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
select TO_DAYS(NOW());
select now() ;
DAYOFWEEK( ......
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set& ......
#两日期/时间之间相差的天数:
To_Days(end_time)-To_Days(start_time)
#两日期/时间之间相差的秒数:
SELECT UNIX_TIMESTAMP(end_time)- UNIX_TIMESTAMP(start_time);
#两日期/时间之间相差的时分数:
SELECT SEC_TO_TIME(UNIX_TIMESTAMP(end_time)- UNIX_T ......