JSP是使用Java作為基礎(chǔ)的Web開發(fā)技術(shù)。在使用JSP開發(fā)網(wǎng)站的過程中,經(jīng)常與數(shù)據(jù)庫(kù)交互,其中數(shù)據(jù)庫(kù)MySQL是十分常用的一個(gè)。本文將介紹如何在JSP中插入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中。
首先,我們需要在JSP頁(yè)面中連接MySQL數(shù)據(jù)庫(kù)。以下是連接數(shù)據(jù)庫(kù)的代碼。
<%!
String url ="jdbc:mysql://localhost:3306/test";//數(shù)據(jù)庫(kù)連接字符串
String user = "root";//數(shù)據(jù)庫(kù)用戶
String password = "password";//數(shù)據(jù)庫(kù)密碼
Connection conn;//數(shù)據(jù)庫(kù)連接對(duì)象
public void init() throws ServletException{
try {
Class.forName("com.mysql.jdbc.Driver");//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
conn = DriverManager.getConnection(url,user,password);//建立數(shù)據(jù)庫(kù)連接
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
接下來,我們需要使用SQL語(yǔ)句來進(jìn)行數(shù)據(jù)的插入。以下是使用PreparedStatement執(zhí)行SQL語(yǔ)句的代碼。
<%!
PreparedStatement pstmt ;
ResultSet rs;
public void insert(String name,String age) throws SQLException{
pstmt = conn.prepareStatement("insert into student(name,age) values(?,?)");//SQL語(yǔ)句
pstmt.setString(1,name);//設(shè)置parameter占位符的值
pstmt.setInt(2,Integer.parseInt(age));//設(shè)置parameter占位符的值
pstmt.executeUpdate();//執(zhí)行SQL語(yǔ)句
}
%>
最后,我們?cè)贘SP頁(yè)面中使用表單獲取用戶輸入的信息,并把信息插入到數(shù)據(jù)庫(kù)中。以下是插入數(shù)據(jù)的JSP頁(yè)面代碼。
<%!
String name = null;
String age = null;
if(request.getMethod().equals("POST")){//判斷是否為POST請(qǐng)求
name = request.getParameter("name");//獲取表單提交的name參數(shù)
age = request.getParameter("age");//獲取表單提交的age參數(shù)
try{
insert(name,age);//插入數(shù)據(jù)到數(shù)據(jù)庫(kù)中
}catch(SQLException e){
e.printStackTrace();
}
}
%>
<%-- 表單 --%>
<form method="post">
<label>姓名</label><input type="text" name="name" /><br>
<label>年齡</label><input type="text" name="age" /><br>
<input type="submit" value="提交" />
</form>
通過以上代碼,我們就可以在JSP頁(yè)面上獲取用戶輸入的信息,并把信息插入到MySQL數(shù)據(jù)庫(kù)中。