servlet 的图书查询与购物车的思想
1.首先jsp页面显示查询界面查询图书的类名可以写一个
CategoryDAOIMP 用于实现查询所有的一级分类,调用这个方法
可以在jsp页面做一个选项卡,用这个方法得到所有一级目录的
名称,并赋值给这些选项卡,书名由用户自己输入
2.用户要查询图书的时候有四种情况,1.类名为默认的全部,而书名为空 2.类名为全部(根据书名模糊查询)
3.书名为空(根据类名进行查询)
4.根据类名还有就是书名模糊查询。在servlet端构建数据库语句将相应的sql语句以参数的形式带到javabean里实现方法。在
servlet 调用javabean 方法保存数据在jsp端获取数据然后显示出来
连接理论:DriverManager类负责建立与数据源的连接,通过JDBC驱动程序进行访问
常用方法getConnection建立连接
//3.装载驱动驱动名称
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//4.获取连接
Connection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseNam e=bookManager","sa","123");
Connection对象表示对一个特定数据源建立的一条连接,将用它来创建一个提供定义和执行特定SQL语句功能的Statement对象createStatement()创建用于执行SQL语句的Statement对象
prepareStatement()返回执行动态SQL语句的PrepareStatement对象
Statement接口定义了向数据库发送SQL语句的方法,其对象提供一个工作空间用于生成SQL查询,执行并获取返回的结果。
方法说明
close()关闭当前的Statement对象
execute()执行Statement对象,主要执行返回多个结果集的SQL语句
executeQuery()执行SQL Select命令
executeUpdate()执行SQL更新的命令,包括Update,Delete,Insert等
getMoreResults()移到Statement对象的下一个结果处
getQueryTimeout()返回JDBC驱动器等待Statement执行SQL的延迟时间(秒计算)
getResultSet()返回查询结果集
导入必需的类
装入JDBC驱动程序
识别数据源
建立连接(Connection对象-使用DriverManager类的方法getConnection 返回)
创建执行对象(Statement对象-调用Connection对象的方法creatStatement 返回)
执行SQL语句
使用Statement对象的方法-executeQuery和execute
Update执行增加、删除、修改、查询
处理查询结果
从返回的ResultSet对象中获取数据
关闭连接
/
/执行对象为滚动的
//执行对象为滚动的
try {
ateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
1.数据库访问对象:一:查询语句无参时的情况下,Statement stmt=null;用这个定义一个访问对象。
java连接sqlserver数据库对应的sql语句:先创建访问stmt对象然后赋值,在写sql语句。
ateStatement();
String sql="select * from couinfo";
uteQuery(sql);
二:查询语句有参的情况下,PreparedStatement pstmt=null;
对应的sql语句:先sql语句在创建访问对象。String sql="select * from couinfo where
Cname=? and Cnum=?";
pstmt=con.prepareStatement(sql);
pstmt.setString(1, c.getCname());
pstmt.setInt(2, c.getCnum());
uteQuery();
2.sql查询语句
查询语句:String sql="select * from stuinfo where stuno=?";
String sql="select * from lgUsers where name=? and password=?";
String sql="select * from lgUsers where admin=0";
String sql="select * from vbookCategory";
String sql = "select * from vbookCategory where bookName like" +"'%"+searcherContent+"%'";
sql="select * from vbookCategory where fcategoryName="+"'"+searcherContent+"'";
sql="select * from vbookCategory where fcategoryName="+"'"+categoryname+"'"+"and bookName like"+"'%"+searcherContent+"%'";
构建sql语句:
sql="select *  from vbookCategory where 1=1";
一条语句根据不同条件进行不同的累加
sql=sql+" and bookName like "+"'%"+bookName+"%'";
sql=sql+" and publisher="+"'"+publisher+"'";
sql=sql+" and price between "+small+" and "+high;
插入语句:String sql="insert into  lgUsers values(?,?,?,?,?,?)";
int uteUpdate();(更新结果)
String sql="insert into  stuinfo (stuNo,couseNo,grade) values(?,?,?)";
String sql="insert into stuinfo values(?,?,?,?,?,?,?,?)";
删除语句:String sql="delete stuinfo where stuNo=?";
String sql="delete from lgUsers where id=?";
修改语句:String sql="update couinfo set Cname=?,Cteacher=?,Cplace=?,Ctype=? where Cnum=?";
String sql="update  stuinfo set stuNo=?,couseNo=?,grade=? where stuNo=?";
String sql="update stuinfo set
stuNo=?,name=?,sex=?,major=?,gender=?,birthday=? where stuNo=?";
String sql2="update stuinfo set couseNo=? where stuNo=? ";
String sql="update  lgUsers set
name=?,password=?,sex=?,age=?,tel=?,admin=? where id=?";