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驱动的路径就会异常)

   

导入成功啦!

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

结果报错了。。

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.

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

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);
        %>
        <table >
        <tr>
                <th>课程号</th>
                <th>课程名</th>
            </tr>
            <% 
            while(rs.next()){
                //存储在一个指针中,要用.next()指向存储对象
            %>
            <tr>
                <td>
                
                <%=rs.getInt(1) %>
                
                </td>
                <td>
                
                <%=rs.getString(2) %>
                
                </td>
            </tr>
            <% }%>
        </table>
        <% 
        rs.close();
        st.close();
        con.close();
}catch(ClassNotFoundException e){
    e.printStackTrace();
    out.print("驱动加载失败");
}catch(SQLException ex){
    ex.printStackTrace();
    out.print("用户名或密码错误!");
}
%>

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

   

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值