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 捕获异常 即便数据库修改失败页面也返回 请求成功 } } }



浙公网安备 33010602011771号