JavaWeb 프로그램에서 SQLserver 데이터베이스에 대한 삭제 및 수정 작업
중점: 조작 데이터베이스는 주로 SQL 문장을 사용하는데 다른 것과 무관하다.
1: 사전 요구 사항: PreparedStatement
PreperedStatement는 Statement의 하위 클래스로, 실례 대상은 Connection을 호출할 수 있습니다.preparedStatement () 방법은 Statement 대상에 비해 PreperedStatement는 SQL 주입 문제를 피할 수 있습니다.Statement는 데이터베이스로 하여금 SQL을 빈번하게 컴파일하게 하여 데이터베이스 버퍼가 넘칠 수 있습니다.PreparedStatement는 SQL을 사전 컴파일하여 데이터베이스의 실행 효율을 높일 수 있습니다.또한PreperedStatement는 sql의 매개 변수에 대해 자리 차지 문자의 형식으로 교체를 허용하고 sql 문장의 작성을 간소화합니다.
예:
1 PreperedStatement mi = Connection.preparedStatement();
2 try{
3 i = mi.executeUpdate();
4 }catch(Exception e){
5 if(i != 1)
6 {
7 System.out.println(" ");
8 }
9 }
예:
1: index를 작성합니다.jsp 파일은 JSTL의 탭을 통해 servlet을 가리킵니다
1 package com.ll;
2
3 import java.io.IOException;
4 import java.sql.*;
5 import java.util.ArrayList;
6 import java.util.List;
7
8 import javax.servlet.ServletException;
9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import dao.Studentdao2;
15
16 /**
17 * Servlet implementation class GoodsServlet
18 */
19 @WebServlet("/GoodsServlet")
20 public class GoodsServlet extends HttpServlet {
21 private static final long serialVersionUID = 1L;
22
23 /**
24 * @see HttpServlet#HttpServlet()
25 */
26 public GoodsServlet() {
27 super();
28 // TODO Auto-generated constructor stub
29 }
30
31 /**
32 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
33 */
34 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35 // TODO Auto-generated method stub
36 String action = request.getParameter("action");
37 if(action.equals("zongjin")){
38
39 try {
40 query(request,response);
41 } catch (Exception e) {
42 // TODO Auto-generated catch block
43 e.printStackTrace();
44 }
45 }
46
47
48
49 }
50
51 /**
52 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
53 */
54 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
55 // TODO Auto-generated method stub
56 }
57
58
59 public void query(HttpServletRequest request, HttpServletResponse response) throws Exception{
60 Studentdao2 conn = new Studentdao2();
61 String sql = "Select *from Student";
62
63 /*
64 //
65 String addsql = " -19- 1501- ";
66 conn.addsql(addsql);
67 */
68
69
70 /*
71 //
72 String strdelete = "Delete from Student Where = ' '";
73 conn.deletesql(strdelete);
74 */
75
76 /*
77 //
78 String update = "Update Student set =' ' Where = ' ' ";
79 conn.updateSql(update);
80 */
81
82
83 ResultSet rs =conn.executeQuery1(sql);//
84 List list = new ArrayList();
85 while(rs.next())
86 {
87 Student f = new Student();
88 //equals false " "
89 f.setBanji(rs.getString(" "));
90 f.setName(rs.getString(" "));
91 f.setSex(rs.getString(" "));
92 f.setTime(rs.getString(" "));
93
94 list.add(f);
95
96 }
97
98 request.setAttribute("list", list);
99 request.getRequestDispatcher("sql2.jsp").forward(request, response);
100
101
102
103
104 }
105 public String cat(String str){
106 String[] arr = str.split(" ");
107 String s = arr[0];
108 return s;
109
110 }
111
112 }
3. 서브렛의 웹.xml 파일
1 "1.0" encoding="UTF-8"?>
2 "http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
3 JSTL
4
5 index.html
6 index.htm
7 index.jsp
8 default.html
9 default.htm
10 default.jsp
11
12
13
14 http://java.sun.com/jstl/fmt
15 /WEB-INF/tld/fmt.tld
16
17
18 http://java.sun.com/jstl/core
19 /WEB-INF/tld/c.tld
20
21
22 http://java.sun.com/jstl/sql
23 /WEB-INF/tld/sql.tld
24
25
26 http://java.sun.com/jstl/x
27 /WEB-INF/tld/x.tld
28
29
30
31
32 GoodsServlet
33 class>com.ll.GoodsServlet class>
34
35
36
37 GoodsServlet
38 /com.ll.GoodsServlet
39
40
47
48
4. 데이터베이스 연결 및 처리에 사용할 클래스 만들기
1 package dao;
2
3 import java.io.InputStream;
4 import java.sql.Connection;
5 import java.sql.DriverManager;
6 import java.sql.PreparedStatement;
7 import java.sql.ResultSet;
8 import java.sql.SQLException;
9 import java.sql.Statement;
10 import java.util.Properties;
11
12 public class Studentdao2 {
13 public Connection conn = null;
14 public String url = null;
15 public Statement stmt = null;
16 public ResultSet rs = null;
17 public static String propFilename = "Studentdao2.properties";
18 private static Properties prop = new Properties();
19 private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
20 private static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=StudentManagement";
21 private static String addSql = "insert into Student values(?,?,?,?)";
22 private static String updateSql = "update Student set =?, =?, =?, =?";//
23 public Studentdao2(){
24 try{
25 // InputStream in = getClass().getResourceAsStream(propFilename);
26 // prop.load(in);
27 // dbClassName = prop.getProperty("DB_URL",dbUrl);
28 // dbUrl = prop.getProperty("DB_URL", dbUrl);
29 Class.forName(dbClassName);
30 conn = DriverManager.getConnection(dbUrl, "sa", "zongjin123");
31 if(conn != null)
32 {
33 System.out.println(" ");
34 }
35 else{
36 System.out.println(" ");
37 }
38 stmt = conn.createStatement();
39
40 }catch(Exception e){
41 e.printStackTrace();
42 }
43
44 }
45 public ResultSet executeQuery1(String sql) throws Exception {
46 // TODO Auto-generated method stub
47 this.rs = this.stmt.executeQuery(sql);
48 return this.rs;
49 }
50 public void addsql(String sql) throws Exception{
51 PreparedStatement add = conn.prepareStatement(addSql);
52 String[] shuju = sql.split("-");
53 System.out.println(shuju[0]);
54 add.setString(1, shuju[0]);
55 add.setString(2,shuju[1]);
56 add.setString(3,shuju[2]);
57 add.setString(4, shuju[3]);
58 add.executeUpdate();
59 add.close();
60 }
61 public void deletesql(String sql) throws Exception{
62 int i = 0;
63 PreparedStatement delete = conn.prepareStatement(sql);
64 try{
65 i = delete.executeUpdate();
66 }catch(Exception e){
67 if(i != 1)
68 {
69 System.out.println(" ");
70 }
71 }
72 delete.close();
73 }
74 public void updateSql(String sql)throws Exception
75 {
76 PreparedStatement update = conn.prepareStatement(sql);
77 // , sq
78 //update.setString(2, str);
79 //String[] shuju = sql.split("-");
80 //System.out.println(shuju[0]);
81 //update.setString(1, shuju[0]);
82 //update.setString(2,shuju[1]);
83 //update.setString(3,shuju[2]);
84 //update.setString(4, shuju[3]);
85 update.executeUpdate();
86 update.close();
87 }
88
89 }
5. 데이터 저장에 사용되는 학생류 작성
1 package com.ll;
2
3 public class Student {
4 private String name;
5 private String time;
6 private String banji;
7 private String sex;
8 public String getBanji() {
9 return banji;
10 }
11 public void setBanji(String banji) {
12 this.banji = banji;
13 }
14
15 public String getName() {
16 return name;
17 }
18 public void setName(String name) {
19 this.name = name;
20 }
21 public String getTime() {
22 return time;
23 }
24 public void setTime(String time) {
25 this.time = time;
26 }
27
28 public String getSex() {
29 return sex;
30 }
31 public void setSex(String sex) {
32 this.sex = sex;
33 }
34
35
36 }
6 index를 실행합니다.jsp 파일로 실행
전재 대상:https://www.cnblogs.com/zongjin/p/7511762.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.