jsp页面使用<% %>来进行java语句,然后先进行导包,接着进行数据库的连接,sql语句,最后根据返回的内容进行排版输出。
1.导包:利用这个<%@ page import="java.sql.*" %>在jsp页面最上头(第二行)加上这句,导包java.sql.*
导包的时候不要加<%@ page import="com.mysql.jdbc.*" %>,两个会重复,另外后面连接数据库的时候第二个会报错(可能第二个有另外一个写法)
2.进行数据库连接:
Class.forName("com.mysql.jdbc.Driver").newInstance(); //建一个连接数据库的驱动实例
String user = "root"; //数据库用户名
String password=""; //数据库密码
String url = "jdbc:mysql://localhost:3306/chinahealthliveweb"; //数据库地址
Connection conn = DriverManager.getConnection(url, user, password); //连接数据库
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); //设置数据库结果集进行的行为(我的是返回可滚动的结果集,数据库变化结果集变化,第二个是只读)
结果集这块有兴趣可以:https://www.sogou.com/link?url=DOb0bgH2eKh1ibpaMGjuy1CJ8Ne2VWi3HrVBiYB3Dz8S9oJUgKhRKbBn4VA8J3SxILa8NIv3QbywFygYe7AVXQ..
3.sql语句:
String xingming = request.getParameter("xingming");
String sql = "select * from lingdao where xingming like'%"+xingming+"%'";
ResultSet rs = stmt.executeQuery(sql);
这是提交的form表单,在一个jsp页面,这个form里不用加action属性,加个方法属性就好,然后下面用input标签中的name让java语句可以知道查询的内容
4.根据结果集内容进行排版输出:
先判断结果集是否有内容,有内容就输出,没有内容输出数据库无信息。
<%
if(rs.next()){
do{ %>
<----------------------------------------------这里添加输出的信息利用<=rs.string(a)>输出信息----------------------------------------------------------->
a是数值,你的数据库里想要第几列就填几,比如第一列是id,你要id,那填1
<%
}while(rs.next())
} else{ %>
数据库里没有值!
<% }
%>
完结撒花!!