【struts2】一个BBS论坛初步显示service

来源:互联网 发布:webp转换软件 编辑:程序博客网 时间:2024/05/01 12:03
/*** 书本:【struts2】* 功能:业务实现* 文件:CategoryService.java* 时间:2014年10月30日16:28:26* 作者:cutter_point*/package com.whqg.bbs2009.service;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.whqg.bbs2009.model.Category;import com.whqg.bbs2009.util.DB;public class CategoryService {public void add(Category c){Connection conn=DB.createConn();//创建数据库连接String sql="insert into _category values (null, ?, ?)";PreparedStatement ps=DB.prepare(conn, sql);//设置好SQL语句try {ps.setString(1, c.getName());ps.setString(2, c.getDescription());//向数据库提交数据ps.executeUpdate();} catch (SQLException e) {e.printStackTrace();}//关闭数据库DB.close(ps);DB.close(conn);}public List<Category> list() throws SQLException{//创建数据库连接Connection conn=DB.createConn();//输出SQL语句String sql="select * from _category";PreparedStatement ps=DB.prepare(conn, sql);//创建一个保存全部结果的容器List<Category> categories=new ArrayList<Category>();//数据库查询的结果保存try {ResultSet rs=ps.executeQuery();//记得异常处理Category c=null;//床架一个空的等会一个一个的取出来while(rs.next())//只要接下来还有没取出的就可以继续取{c=new Category();c.setId(rs.getInt("id"));c.setName(rs.getString("name"));c.setDescription(rs.getString("description"));//把c添加到容器中categories.add(c);}DB.close(rs);} catch (SQLException e) {e.printStackTrace();throw(e);}DB.close(ps);DB.close(conn);//返回容器return categories;}public void delete(Category c){deleteById(c.getId());}public void deleteById(int id){Connection conn=DB.createConn();//创建数据库连接String sql="delete from _category where id = ?";PreparedStatement ps=DB.prepare(conn, sql);//设置好SQL语句try {ps.setInt(1, id);//向数据库提交数据ps.executeUpdate();} catch (SQLException e) {e.printStackTrace();}//关闭数据库DB.close(ps);DB.close(conn);}public void update(Category c){Connection conn=DB.createConn();//创建数据库连接String sql="update `_category` set `name` = ?, `description` = ? where id = ?";PreparedStatement ps=DB.prepare(conn, sql);//设置好SQL语句try {ps.setString(1, c.getName());ps.setString(2, c.getDescription());ps.setInt(3, c.getId());//向数据库提交数据ps.executeUpdate();} catch (SQLException e) {e.printStackTrace();}//关闭数据库DB.close(ps);DB.close(conn);}//为了更新数据的时候我们得先看到原来的数据public Category loadById(int id){//创建数据库连接Connection conn=DB.createConn();//设置SQL语句String sql="select * from _category where id = ?";//一个吧SQL语句传到数据库的函数PreparedStatement ps=DB.prepare(conn, sql);//我们要返回那个对象的数据以便更改Category c=null;try {//设置id的值ps.setInt(1, id);//执行语句,并保存返回结果ResultSet rs=ps.executeQuery();//把得到的值传入对象中if(rs.next()){//如果查找到了,给c创建对象c=new Category();c.setId(rs.getInt("id"));c.setName(rs.getString("name"));c.setDescription(rs.getString("description"));}DB.close(rs);} catch (SQLException e) {e.printStackTrace();}DB.close(ps);DB.close(conn);return c;}}

0 0