package day18;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.Connection;
import day17.DBManager;
public class TestStatement {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//method1();
//method2();
method3();
}
public static void method3() throws Exception {
// TODO Auto-generated method stub
//模拟web开发环境
String username=null;//request.getParameter("username");
String sex=null;
String zhuanye=null;
DBManager dbManager=null;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
//注册驱动
dbManager=new DBManager();
//获取连接
conn=dbManager.getConnection();
//增加查询条件
//username="zhang";
username=null;
sex="女";
zhuanye="计算机";
//处理页面提交的数据,不要出现空值null,但可以使用""
/*客户端提交过来的数据有以下几种情况:
* 获取的值为null,不作为查询条件
* 获取的值为”“,不作为查询条件
* 不是以上2种情况,作为查询条件
*/
//组织SQL语句
String whereSql="";
boolean whereFlag=false;//是否增加where的标志;false表示没有where,true存在where
if(username!=null&&!"".equals(username.trim())){
whereSql=whereSql+" and 姓名 like '%"+username.trim()+"%'";
}
if(sex!=null&&!"".equals(sex.trim())){
whereSql=whereSql+" and sex = '"+sex.trim()+"'";
}
if(zhuanye!=null&&!"".equals(zhuanye.trim())){
whereSql=whereSql+" and 专业 = '"+zhuanye.trim()+"'";
}
//组织SQL语句
String sql="select id,姓名,sex,专业 from students where 1=1 ";
sql=sql+whereSql;
System.out.println(sql);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//rs永远不为空
while(rs.next()){
System.out.println(rs.getString(1)+" "+
rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
}
dbManager.closeResource(conn,stmt,rs);
}
public static void method2() throws Exception {
// TODO Auto-generated method stub
//模拟web开发环境
String username=null;//request.getParameter("username");
String sex=null;
String zhuanye=null;
DBManager dbManager=null;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
//注册驱动
dbManager=new DBManager();
//获取连接
conn=dbManager.getConnection();
//增加查询条件
//username="zhang";
username=null;
sex="女";
zhuanye="计算机";
//处理页面提交的数据,不要出现空值null,但可以使用""
/*客户端提交过来的数据有以下几种情况:
* 获取的值为null,不作为查询条件
* 获取的值为”“,不作为查询条件
* 不是以上2种情况,作为查询条件
*/
//组织SQL语句
String whereSql="";
boolean whereFlag=false;//是否增加where的标志;false表示没有where,true存在where
if(username!=null&&!"".equals(username.trim())){
if(!whereFlag){
whereSql=whereSql+" where 姓名 like '%"+username.trim()+"%'";
whereFlag=true;
}else{
whereSql=whereSql+" and 姓名 like '%"+username.trim()+"%'";
}
}
if(sex!=null&&!"".equals(sex.trim())){
if(!whereFlag){
whereSql=whereSql+" where sex = '"+sex.trim()+"'";
whereFlag=true;
}else{
whereSql=whereSql+" and sex = '"+sex.trim()+"'";
}
}
if(zhuanye!=null&&!"".equals(zhuanye.trim())){
if(!whereFlag){
whereSql=whereSql+" where 专业 ='"+zhuanye.trim()+"'";
whereFlag=true;
}else{
whereSql=whereSql+" and 专业 = '"+zhuanye.trim()+"'";
}
}
//组织SQL语句
String sql="select id,姓名,sex,专业 from students ";
sql=sql+whereSql;
System.out.println(sql);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//rs永远不为空
while(rs.next()){
System.out.println(rs.getString(1)+" "+
rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
}
dbManager.closeResource(conn,stmt,rs);
}
public static void method1() throws Exception {
//模拟web开发环境
String username=null;//request.getParameter("username");
String sex=null;
String zhuanye=null;
DBManager dbManager=null;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
//注册驱动
dbManager=new DBManager();
//获取连接
conn=dbManager.getConnection();
//增加查询条件
//username="zhang";
username=null;
sex="女";
zhuanye="计算机";
//处理页面提交的数据,不要出现空值null,但可以使用""
/*客户端提交过来的数据有以下几种情况:
* 获取的值为null,不作为查询条件
* 获取的值为”“,不作为查询条件
* 不是以上2种情况,作为查询条件
*/
if(username==null||"".equals(username.trim())){
username="";
}
if(sex==null||"".equals(sex.trim())){
sex="";
}
if(zhuanye==null||"".equals(zhuanye.trim())){
zhuanye="";
}
//组织SQL语句
String sql="select id,姓名,sex,专业 from students where "+
"姓名 like '%"+username+"%' and sex like '%"+sex+"%' and 专业 like '%"+zhuanye+"%'";
System.out.println(sql);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//rs永远不为空
while(rs.next()){
System.out.println(rs.getString(1)+" "+
rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
}
dbManager.closeResource(conn,stmt,rs);
}
}
模拟web开发环境 对MySql数据库的操作
最新推荐文章于 2024-04-22 09:52:50 发布