本文目錄一覽:
- 1、如何在JSP頁面中實現對數據庫的增刪查改?
- 2、jsp怎麼連接數據庫做增刪改查
- 3、什麼是jsp web三層架構
- 4、如何用jsp往數據庫里添加,刪除,修改和查看給出例子
- 5、JSP中如何對數據庫中的數據進行刪除增加等操作
如何在JSP頁面中實現對數據庫的增刪查改?
首先我覺得你的問題不太明確,做增刪改查,的話一般不用ajax,除非其中要用到單獨的驗證字段的時候採用,比如在註冊時驗證用戶名,這裡用到ajax查詢用戶名是否存在,返回給頁面直接用流打回頁面就行(比如:此用戶名可用之類的)而其他的查詢比如顯示所有或者查詢的結果為對象的話那看你用什麼框架(controller),struts直接封裝到值棧中,在頁面用標籤顯示就行,不知道能不能幫到你
jsp怎麼連接數據庫做增刪改查
數據庫連接類:
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 ListCategory list(){
Connection conn=DB.createConn();
String sql=”select * from category”;
PreparedStatement ps=DB.prepare(conn, sql);
ListCategory categories=new ArrayListCategory();
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;
}
}
什麼是jsp web三層架構
三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用劃分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。區分層次的目的即為了“高內聚低耦合”的思想。在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為:數據訪問層(又稱為持久層)、業務邏輯層(又或稱為領域層)、表示層。
表示層(UI層):
表示層也稱為界面層,位於最外層(最上層),離用戶最近。用於顯示數據和接收用戶輸入的數據,為用戶提供一種交互式操作的界面。
業務邏輯層(BLL層):
負責關鍵業務的處理和數據的傳遞。複雜的邏輯判斷和涉及到數據庫的數據驗證都需要在此做出處理。主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。
數據訪問層(DAL層):
主要負責對數據庫的直接訪問,為業務邏輯層提供數據,根據傳入的值來操作數據庫,增、刪、改、查。
如何用jsp往數據庫里添加,刪除,修改和查看給出例子
功能很簡單的,但寫起來從前台到後台有點繁瑣,我告訴你思路,你自己寫寫啊,這東西主要靠練。
首先你要把數據庫裡面的數據查詢出來,然後在jsp中以表格的形式顯示,在每條數據後面添加一個刪除按鈕。
當你點擊刪除按鈕的時候向服務器端傳遞一個id,通過這個id來刪除。服務器端可以用servlet也可以用struts等等,訪問數據庫可以用jdbc也可以用hibernate,做一個查詢和刪除的方法就可以了。
JSP中如何對數據庫中的數據進行刪除增加等操作
問題太抽象,/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package ******;
import java.io.PrintWriter;
import java.sql.*;/**
* @author wfg
*/
public class DB_Conn {
private String driverName = “com.mysql.jdbc.Driver”; //JDBC驅動
private String userName = “root”; //數據庫用戶名
private String userPwd = “*****”; //數據庫用戶密碼
private String dbName = “******”; //數據庫名
private String url = “jdbc:mysql://localhost:3306/”+dbName+”?user=”+userName+
“password=”+userPwd; //數據庫連接字符串
private Connection conn = null; //數據庫連接對象
public Statement sm = null; //數據庫語句對象
private PrintWriter out = null; //建立數據庫連接函數
public void ConnectDB(){
try{
Class.forName(driverName).newInstance();
conn = DriverManager.getConnection(url);
sm = conn.createStatement();
}
catch(Exception e){
e.printStackTrace();
out.print(“數據庫連接失敗!”);
}
} //釋放數據庫連接函數
public void CloseDB(){
try{
if(sm != null){
sm.close();
}
conn.close();
}
catch(SQLException SqlE){
SqlE.printStackTrace();
out.print(“數據庫關閉失敗!”);
}
}
}
這是先建立連接
原創文章,作者:TBMW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141467.html