jsp怎么连接数据库做增删改查

 我来答
大前端
2017-03-09 · TA获得超过260个赞
知道小有建树答主
回答量:268
采纳率:100%
帮助的人:82.7万
展开全部

数据库连接类:

package cn.hpu.bbs.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
 
 // 定义MySQL的数据库驱动程序
 public static final String DBDRIVER = "com.mysql.jdbc.Driver" ;
 //定义mysql的数据库连接地址:
 public static final String DBDURL = "jdbc:mysql://localhost/bbs2014" ;
 //mysql数据库的连接用户名
 public static final String DBUSER = "root" ;
 //mysql数据库的连接密码
 public static final String DBPASS = "1234" ;
 
 public static Connection createConn(){
  Connection conn =null;
  try {
   Class.forName(DBDRIVER);
   conn=DriverManager.getConnection(DBDURL,DBUSER,DBPASS);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
  return conn;
 }
 
 public static PreparedStatement prepare(Connection conn,String sql){
  PreparedStatement ps=null;
  try {
   ps=conn.prepareStatement(sql);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return ps;
 }
 
 public static void close(Connection conn){
  if(conn==null) return;
  try {
   conn.close();
   conn=null;
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 public static void close(Statement stmt){
  if(stmt==null) return;
  try {
   stmt.close();
   stmt=null;
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 public static void close(ResultSet rs){
  if(rs==null) return;
  try {
   rs.close();
   rs=null;
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

Category的一个JavaBean:

package cn.hpu.bbs.model;

public class Category {
private int id;
private String name;
private String description;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}

对数据库和Category的操作类://说白了就是增删查修

<pre name="code" class="java">package cn.hpu.bbs.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 cn.hpu.bbs.model.Category;
import cn.hpu.bbs.util.DB;

public class CategoryService {
public void add(Category c){
Connection conn=DB.createConn();
String sql="insert into category (name,description) values (?,?)";
PreparedStatement ps=DB.prepare(conn, 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(){
Connection conn=DB.createConn();
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"));
categories.add(c);
}
} catch (SQLException e) {
e.printStackTrace();
}
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);
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);
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();
String sql="select * from category where id=?";
PreparedStatement ps=DB.prepare(conn, sql);
Category c=null;
try {
ps.setInt(1, id);
ResultSet rs=ps.executeQuery();
if(rs.next()){
c=new Category();
c.setId(rs.getInt("id"));
c.setName(rs.getString("name"));
c.setDescription(rs.getString("description"));
}
} catch (SQLException e) {
e.printStackTrace();
}
DB.close(ps);
DB.close(conn);
return c;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式