eclipse 关联数据库 通过servlet 向数据库写数据

 最重要的一个步骤 

数据库驱动一定要放到WEB-INF\lib 里面才能起作用

我本地的具体路径是 D:\javaweb\src\main\webapp\WEB-INF\lib

 

 

 

第一步

新建一个数据库

# 新建一个数据库test
CREATE DATABASE test;
USE test;
# 新建一个表 stu_info
CREATE TABLE stu_info (
    stu_num  VARCHAR(10) PRIMARY KEY,
    stu_name VARCHAR(10) NOT NULL UNIQUE,
    stu_sex VARCHAR(4) NOT NULL,
    email VARCHAR(100)
);
# 查询表
select * from  stu_info;

 

 第二步 配置数据库驱动

windows的preferences的Java的bulid path 点击new 输入JDBC 选择System library 点击ok

点击add External JARs  选择本地的mysql驱动jar包

 

 点击应用

 打开项目 右键build path,configure

 java bulid path 中点击classpath 点击新建文件夹 选择user library

 点击next  

 点击finish  

 点击应用

需要再复制一次数据库驱动的位置到WEB-INF\lib  非常重要 否则无法连接数据库  

 第三步 在代码中注册驱动 MySQL驱动jar包中的com.mysql.jdbc.Driver

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public  class MyServlet extends HttpServlet {
// 定义一个方法 doGet 有两个参数 请求和返回
    
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException {

//注册驱动
        Class.forName("com.mysql.jdbc.Drver")
        
//         编码 
        res.setCharacterEncoding("UTF-8");
//        给用户返回信息
        PrintWriter out=res.getWriter();
        out.write("这是我的第一个servlet");
    }

 

package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;


import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public  class MyServlet extends HttpServlet {
// 定义一个方法 doGet 有两个参数 请求和返回
    
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException {
         
            res.setContentType("text/html;charset=UTF-8"); //设置相应信息的类型和编码
            //res.setCharacterEncoding("UTF-8");
            PrintWriter out=res.getWriter();//返回的数据
            out.write("添加学生数据成功");
           


        try {
            Class.forName("com.mysql.jdbc.Driver");//加载驱动
            System.out.println("加载数据库驱动成功");
            String dbUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";//数据库是test
            
            Connection conn=DriverManager.getConnection(dbUrl,"root","111111");//建立与数据库的连接  
            System.out.println("连接数据库成功");
            String sql="insert into stu_info (stu_num,stu_name,stu_sex,email)values('stu004','lulu','女','lulu@163.com')";
            Statement stmt=conn.createStatement();//执行sql语句并检查结果
            stmt.executeUpdate(sql);//执行sql
            System.out.println("插入到数据库成功");
            
            conn.close();
            System.out.println("关闭数据库成功");
            
            
        }catch(Exception e) {
            e.printStackTrace();//利用try catch 捕获异常  即便数据库修改失败页面也返回 请求成功
            
            
        }
        

            
    }

}

 

 

 

 

 

posted @ 2025-04-21 15:55  胖豆芽  阅读(26)  评论(0)    收藏  举报