jsp连接mysql详解

1.开发环境:eclipse,jdk,mysql,tomcat

2.第一步下载 JDBC的包

百度云分享:https://pan.baidu.com/s/1Im2VgsSzSenZuL_0Y0p9gw   密码:druv  (我的jdk版本比较高,所以能支持最新版本的jar,如果提示你jre版本过低,可以去官网下一个版本较低5以下的应该就可以了)

3.将 jar包复制到package>webcontent>web-inf>lib文件中,然后右击jar>buildpath>add...然后就可以了,现在我们来测试一下jdbc驱动是否导入成功了(classnotfoundEception 是检验运行时候的错误 如果没有jdbc驱动的路径就会异常)

jsp连接mysql详解_第1张图片   

导入成功啦!

4.创建数据库连接(SQLException抛出用户名或密码错误)

jsp连接mysql详解_第2张图片

结果报错了。。

java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

这个表示服务器时区设置错误,修正时区值就可以了

jsp连接mysql详解_第3张图片

5.执行SQL语句

获取statement对象,>1.如果sql语句只运行一次,那么就可以使用statement获取对象

                                  >2.如果不是运行一次就可以采用preparedStatement获取对象,SQL会被预编译,效率更高

 

代码有点长,不方便截图。。。。我写的是获取数据库表中的数据并用表格显示出来(一步一步的来会出现一些问题,但还是可以解决的哦),不要放弃

<%     
try{
    //加载驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
    //创建数据连接
    String url = "jdbc:mysql://localhost:3306/web?serverTimezone=UTC";//数据库连接字符用户名
    String username = "root";//用户名
    String password = "******";//密码
    //创建connection连接
        Connection con = DriverManager.getConnection(url,username,password);
        //执行SQL操作
        String sql = "select * from class";
        //获取preparedStatement
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(sql);
        %>
        


        
                
                
            
            <% 
            while(rs.next()){
                //存储在一个指针中,要用.next()指向存储对象
            %>
            
                
                
            
            <% }%>
        
课程号课程名

                
                <%=rs.getInt(1) %>
                
                

                
                <%=rs.getString(2) %>
                
                

        <% 
        rs.close();
        st.close();
        con.close();
}catch(ClassNotFoundException e){
    e.printStackTrace();
    out.print("驱动加载失败");
}catch(SQLException ex){
    ex.printStackTrace();
    out.print("用户名或密码错误!");
}
%>

通过resultSet获得的数据存储在一个指针里面,这时我们需要用.next(); 结合循环语句来访问每一个字段

jsp连接mysql详解_第4张图片   jsp连接mysql详解_第5张图片

 

一个完整的jsp与mysql连接就是这样子啦,祝你们顺利,这只是基本哦!

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(jsp连接mysql详解)