第一步,先学习在项目上右击New->JSP File建jsp。
记住这个建jsp的步骤,接下来的“增,删,改,查”的运行代码都要用这个jsp文件。
第二步,学习代码的运行方式:
打开数据库和建表:这里我已经建好表:数据库名:company 表名:company
第三步,打开eclisp:用代码对数据库进行“增,删,改,查”:
一,“增(insert)”:
(1)用以上的方法建立insert2Form.jsp文件,代码图示如下
代码:
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<body>
<form action="insert2.jsp" method="post">
输入学号:<input type="text" name="stuno"><BR><br>
输入姓名:<input type="text" name="stuname"><BR><br>
选择性别:
<select name="stusex">
<option value="男">男</option>
<option value="女">女</option>
</select><BR><br>
<input type="submit" value="提交">
</form>
</body>
</html>
再建一个连接数据库的inset2.jsp,代码如下:
<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<html>
<body>
<%
request.setCharacterEncoding("gb2312");
String stuno = request.getParameter("stuno");
String stuname = request.getParameter("stuname");
String stusex = request.getParameter("stusex");
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?serverTimezone=UTC&useSSL=true&characterEncoding=gb2312","root","123456");
Statement stat = conn.createStatement();
String sql = "INSERT INTO company(学号,姓名,性别) VALUES('" +
stuno+"','"+stuname + "','"+stusex+"')";
int i = stat.executeUpdate(sql);
out.println("成功添加" + i + "行");
stat.close();
conn.close();
%>
</body>
</html>
保存inset2.jsp,运行inset2Form.jsp得到这样的运行页面:
输入学号与姓名,选择性别然后提交,得到:
得到“成功添加1行”并且后台的数据库的表成功添加一行,输入的学号姓名与性别在表里添加的行里自动填充,但是输入的数据和表里一样的话,会冲突添加不进去。
数据库的表数据也改变:
以上代码是页面添加(就是动态变量添加)
(2)下面是代码直接添加数据(静态常量添加):建立insert1.jsp,代码如下:
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?serverTimezone=UTC&useSSL=true&characterEncoding=gb2312","root","123456");
Statement stat = conn.createStatement();
String sql = "INSERT INTO company VALUES('0011','冯小江','男')";
int i = stat.executeUpdate(sql);
out.println("成功添加" + i + "行");
stat.close();
conn.close();
%>
</body>
</html>
运行 直接运行到“成功添加一行”,省略页面输入数据添加。
数据库表中数据:
二,“删(delete)”
建立delete1.jsp,代码如下:
<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<html>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/company?characterEconding=gb2312","root","123456");
Statement stat = conn.createStatement();
String sql = "DELETE FROM company WHERE 学号='1111'";
int i = stat.executeUpdate(sql);
out.println("成功删除" + i + "行");
stat.close();
conn.close();
%>
</body>
</html>
运行:
数据库的表刷新后:
三,“改(update)”:
建立update1.jsp,代码如下:
<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<html>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?serverTimezone=UTC&useSSL=true","root","123456");
Statement stat = conn.createStatement();
String sql = "UPDATE company SET 性别='男' WHERE 学号='0002'";
int i = stat.executeUpdate(sql);
out.println("成功修改" + i + "行");
stat.close();
conn.close();
%>
</body>
</html>
运行,“成功修改一行”:
数据库的表:
四,“查(select)”:
建立select1.jsp,代码如下
<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<html>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company?characterEncoding=gb2312","root","123456");
Statement stat = conn.createStatement();
//String sql = "SELECT SNO,SNAME FROM student WHERE SEX='女'";
String sql = "SELECT * FROM company";
ResultSet rs = stat.executeQuery(sql);
while(rs.next()){
String stuno = rs.getString("学号");
String stuname = rs.getString("姓名");
out.println(stuno + " " + stuname + "<BR>");
}
stat.close();
conn.close();
%>
</body>
</html>
运行: