新手,各位前辈指导下。
进行查询操作时,对象:age,类型:int.if(age!=0)
{
count++;
paramsMap.put(count,new Object[]{"and t.age like ? ","%"+age+"%"});
}---------------------------------------------------------
int age=Integer.parseInt(request.getParameter("age"));List<TUserVo> resultList=null;
if(request.getParameterMap().size()==0)
{
resultList=us.findAll();
}
else
{
Date birthday=JdbcUtil.string2Date(request.getParameter("birthday"));
resultList=us.find(userName, userNo, birthday,sex,age,address);
抛出异常,获取到NULL,该怎样修改?
进行查询操作时,对象:age,类型:int.if(age!=0)
{
count++;
paramsMap.put(count,new Object[]{"and t.age like ? ","%"+age+"%"});
}---------------------------------------------------------
int age=Integer.parseInt(request.getParameter("age"));List<TUserVo> resultList=null;
if(request.getParameterMap().size()==0)
{
resultList=us.findAll();
}
else
{
Date birthday=JdbcUtil.string2Date(request.getParameter("birthday"));
resultList=us.find(userName, userNo, birthday,sex,age,address);
抛出异常,获取到NULL,该怎样修改?
解决方案 »
- 看不懂代码了,求高手指点
- 有人用过fileUpLoad上传东西的吗?
- 在网站中怎样用jsp代码写的效果如下:
- 在ssh项目中如何使用UrlRewrite,
- 谁把实际经验告诉我呢
- struts中如何动态加载资源文件,100分求解,现答现结
- 各位兄弟要不要<JBuilder7&Weblogic7整和开发培训手册>???
- 急啊!谁能替我解答啊?我给高分啊!
- ****************Rumble in the jungle: J2EE versus .Net********************
- 如何在spring中配置多个事物?
- SSI项目jsp页面摆放问题和过滤器问题,瞎吹的勿进
- session 丢失
public List<TUserVo> find(String userName,String userNo,Date birthday,String sex,int age,String address) throws SQLException{}
int age=Integer.parseInt(request.getParameter("age"));request.getParameter("age")取到的是一个空值,你看下赋值的地方是不是写错了
int age=Integer.parseInt(request.getParameter("age"));
这句话错了
改成
String ageStr=request.getParameter("age")
int age=0
if(null!=ageStr && ""!=ageStr)
{
age=Integer.parseInt(ageStr);
}
package ibmetp.jdbc.user.services;import ibmetp.jdbc.util.JdbcUtil;
import ibmetp.jdbc.vo.TUserVo;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;public class UserService
{
private Connection conn;
/**
* 取得Connection对象
* @return
*/
public Connection getConnection()
{
try
{
// if(conn!=null && !conn.isClosed())
// {
// return conn;
// }
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "pinotao","orcl");
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
return conn;
}
/**
* 查询全部
* @return
* @throws SQLException
*/
public List<TUserVo> findAll() throws SQLException
{
conn=getConnection();
Statement ps= conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
ResultSet rs= ps.executeQuery("select * from TUSER order by update_date desc");
List<TUserVo> resultList=new ArrayList<TUserVo>();
while(rs!=null && rs.next())
{
TUserVo user=new TUserVo();
user.setUserId(rs.getLong("USER_ID"));
user.setUserName(rs.getString("USER_NAME"));
user.setUserNo(rs.getString("USER_NO"));
user.setSex(rs.getString("SEX"));
user.setAddress(rs.getString("ADDRESS"));
user.setBirthday(rs.getDate("BIRTHDAY"));
user.setAge(rs.getInt("AGE"));
String[] interest=JdbcUtil.string2Array(rs.getString("INTEREST"));
// if(rs.getString("INTEREST")!=null)
// {
// interest=rs.getString("INTEREST").split(",");
// }
user.setInterest(interest);
resultList.add(user);
}
ps.close();
conn.close();
return resultList; }
/**
* 处理查询的方法
* @param userName 查询条件用户的名称
* @param userNo 查询条件用户编号
* @param birthday 查询条件的生日
* 思考:在此方法中的参数来作为查询条件,如果扩展其它查询条件用什么方式会更好?
* @return 存在则返回查询结果否则返回空list
*/
public List<TUserVo> find(String userName,String userNo,Date birthday,String sex,int age,String address) throws SQLException
{
/*
* 注:where 1=1是一种查询技巧
*/
String querySQL="select * from TUSER t where 1=1 ";
conn=getConnection();
Map<Integer,Object[]> paramsMap=new HashMap<Integer, Object[]>();
Integer count=0;
if(userName!=null && userName.trim().length()>0)
{
count++;
paramsMap.put(count, new Object[]{" and t.USER_NAME like ? ","%"+userName+"%"});
}
if(userNo!=null && userNo.trim().length()>0)
{
count++;
paramsMap.put(count, new Object[]{" and t.USER_NO like ? ","%"+userNo+"%"});
}
if(birthday!=null)
{
count++;
paramsMap.put(count, new Object[]{" and t.birthday = ? ",new java.sql.Date(birthday.getTime())});
}
if(sex!=null)
{
count++;
paramsMap.put(count,new Object[]{"and t.sex like ? ","%"+sex+"%"});
}
if(age!=0)
{
count++;
paramsMap.put(count,new Object[]{"and t.age like ? ","%"+age+"%"});
}
if(address!=null)
{
count++;
paramsMap.put(count,new Object[]{"and t.address like ? ","%"+address+"%"});
}
// if(interest!=null)
// {
// count++;
// paramsMap.put(count,new Object[]{"and t.interest like ? ","%"+interest+"%"});
// }
/*
* 动态取得查询条件
*/
PreparedStatement ps= getPreparedStatement(querySQL,paramsMap);
ResultSet rs= ps.executeQuery();
List<TUserVo> resultList=new ArrayList<TUserVo>();
while(rs!=null && rs.next())
{
TUserVo user=new TUserVo();
user.setUserId(rs.getLong("USER_ID"));
user.setUserName(rs.getString("USER_NAME"));
user.setUserNo(rs.getString("USER_NO"));
user.setSex(rs.getString("SEX"));
user.setAddress(rs.getString("ADDRESS"));
user.setBirthday(rs.getDate("BIRTHDAY"));
user.setAge(rs.getInt("AGE"));
String[] interest=JdbcUtil.string2Array(rs.getString("INTEREST"));
user.setInterest(interest);
resultList.add(user);
}
ps.close();
conn.close();
return resultList;
}
/**
* 根据查询件动态生成PreparedStatement对象
* @param querySQL 查询sql
* @param paramsMap 保存的动态查询条件map
* @return
* @throws SQLException
*/
private PreparedStatement getPreparedStatement(String querySQL,Map<Integer,Object[]>paramsMap) throws SQLException
{
String conditionString="";
Set<Integer> keys=paramsMap.keySet();
for (Integer key : keys)
{
Object[] condition=paramsMap.get(key);
if(condition!=null)
{
conditionString+=condition[0];
}
}
querySQL+=conditionString+" order by update_date desc";
conn=getConnection();
PreparedStatement ps= conn.prepareStatement(querySQL);
for (Integer key : keys)
{
Object[] condition=paramsMap.get(key);
if(condition!=null)
{
ps.setObject(key, condition[1]);
}
}
return ps;
}
/**
* 删除用户(可批量删除)
* @param userIds
*/
public int delete(String[] userIds) throws SQLException
{
String delSQL="delete TUSER where USER_ID in ("+JdbcUtil.array2String(userIds)+")";
if(userIds==null)
{
return 0;
}
conn=getConnection();
Statement ps= conn.createStatement();
String ids=JdbcUtil.array2String(userIds);
int i= ps.executeUpdate(delSQL);
ps.close();
conn.close();
return i;
}
/**
* 更新用户
* @param userVo 用户vo对象
* @return 成功更新返回大于0的数据
* @throws SQLException
*/
public int update(TUserVo userVo) throws SQLException
{
String sql="update tuser set USER_NAME=?,USER_NO=?,AGE=?,BIRTHDAY=?,ADDRESS=?,SEX=?,INTEREST=?,update_date=sysdate" +
" where user_id=?";
conn=getConnection();
PreparedStatement ps= conn.prepareStatement(sql);
ps.setString(1, userVo.getUserName());
ps.setString(2, userVo.getUserNo());
ps.setInt(3, userVo.getAge());
ps.setDate(4, new java.sql.Date(userVo.getBirthday().getTime()));
ps.setString(5, userVo.getAddress());
ps.setString(6, userVo.getSex());
String interest=JdbcUtil.array2String(userVo.getInterest());
ps.setString(7, interest);
ps.setLong(8, userVo.getUserId());
return ps.executeUpdate();
}
/**
* 按ID查找
* @param id
* @return
* @throws SQLException
*/
public TUserVo findById(Long id) throws SQLException
{
String sql="select * from TUSER t where t.USER_ID=?";
conn=getConnection();
PreparedStatement ps= conn.prepareStatement(sql);
ps.setLong(1, id);
ResultSet rs=ps.executeQuery();
TUserVo user=new TUserVo();
while(rs!=null && rs.next())
{
user.setUserId(rs.getLong("USER_ID"));
user.setUserName(rs.getString("USER_NAME"));
user.setUserNo(rs.getString("USER_NO"));
user.setSex(rs.getString("SEX"));
user.setAddress(rs.getString("ADDRESS"));
user.setBirthday(rs.getDate("BIRTHDAY"));
user.setAge(rs.getInt("AGE"));
String[] interest=JdbcUtil.string2Array(rs.getString("INTEREST"));
user.setInterest(interest);
}
ps.close();
conn.close();
return user;
}
/**
* 新增USER
* @param userVo
* @return
* @throws SQLException
*/
public int add(TUserVo userVo) throws SQLException
{
String addSQL="insert into TUSER (USER_ID,USER_NAME,USER_NO,AGE,BIRTHDAY,ADDRESS,SEX,INTEREST)" +
" values(SEQ_USER.NEXTVAL,?,?,?,?,?,?,?)";
conn=getConnection();
PreparedStatement ps= conn.prepareStatement(addSQL);
ps.setString(1, userVo.getUserName());
ps.setString(2, userVo.getUserNo());
ps.setInt(3, userVo.getAge());
ps.setDate(4, new java.sql.Date(userVo.getBirthday().getTime()));
ps.setString(5, userVo.getAddress());
ps.setString(6, userVo.getSex());
String interest=JdbcUtil.array2String(userVo.getInterest());
ps.setString(7, interest);
return ps.executeUpdate();
}
}
import ibmetp.jdbc.util.JdbcUtil;
import ibmetp.jdbc.vo.TUserVo;import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/**
* Servlet implementation class UserListServlet
*/
public class UserListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserService us=new UserService();;
/**
* @see HttpServlet#HttpServlet()
*/
public UserListServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException
{
} /**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
try
{
String userName=request.getParameter("userName");
String userNo=request.getParameter("userNo");
String sex=request.getParameter("sex");
String address=request.getParameter("address");
int age=Integer.parseInt(request.getParameter("age"));
// String interest=request.getParameter("interest");
List<TUserVo> resultList=null;
if(request.getParameterMap().size()==0)
{
resultList=us.findAll();
}
else
{
Date birthday=JdbcUtil.string2Date(request.getParameter("birthday"));
resultList=us.find(userName, userNo, birthday,sex,age,address);
/*
* 传递到userList.jsp,在userList.jsp中用request.getAttribute("list")可以取到
* resultList变量
*/
}
request.setAttribute("list", resultList);
}
catch (SQLException e)
{
e.printStackTrace();
}
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
request.getSession().getServletContext().getRequestDispatcher("/pages/userList.jsp").forward(request, response);
}}