此项目做的事一个课程管理系统,需要通过web做一个可以实现课程的增删改查的功能。
需要用到数据库,Servlet和jsp等(第一次使用Servlet和数据库连接,所以代码都比较低级,页面也比较粗糙,还没有实现Servlet处理后数据的回传,还未实现模糊查询)
程序所建的项目如下:
数据表的格式:
1.首先建立数据库链接
course/src/com.jdbc.util/BaseConnection.java
代码如下:
1 packagecom.jdbc.util;2
3
4 importjava.sql.Connection;5 importjava.sql.DriverManager;6
7 public classBaseConnection {8
9 public static Connection getConnection(){//用这个方法获取mysql的连接
10 Connection conn=null;11 String driver = "com.mysql.jdbc.Driver";12 String url = "jdbc:mysql://localhost:3306/sql?characterEncoding=utf8&useSSL=true";13 String user = "root";14 String password = "";//此处填写数据库连接密码15 try{16 Class.forName(driver);//加载驱动类
17 conn=DriverManager.18 getConnection(url,user,password);//(url数据库的IP地址,user数据库用户名,password数据库密码)
19 }catch(Exception e){20 e.printStackTrace();21 }22 returnconn;23 }24
25 public static voidmain(String[] args) {26 System.out.println("连接成功");27 }28 }
利用javabean建立一个课程类:
course/src/com.jdbc.bean/Course:
代码如下:
1 packagecom.jdbc.bean;2
3 public classCourse {4
5 privateString classname;6 privateString teacher;7 privateString place;8
9 publicString getClassname() {10 returnclassname;11 }12 public voidsetClassname(String classname) {13 this.classname =classname;14 }15 publicString getTeacher() {16 returnteacher;17 }18 public voidsetTeacher(String teacher) {19 this.teacher =teacher;20 }21 publicString getPlace() {22 returnplace;23 }24 public voidsetPlace(String place) {25 this.place =place;26 }27
28
29
30 }
为了后期操作的方便我将一些增删改查的方法写到了一个类中,把他们封装为一个一个的具体的方法
course/src/com.jdbc.dao/JdbcMain.java
代码如下:
1 packagecom.jdbc.dao;2
3
4 importjava.sql.Connection;5 importjava.sql.PreparedStatement;6 importjava.sql.ResultSet;7 importjava.sql.SQLException;8 importjava.util.Scanner;9
10 importcom.jdbc.bean.Course;11 importcom.jdbc.util.BaseConnection;12
13 public classJdbcMain {14 static Scanner in = newScanner(System.in);15 public static voidmain(String[] args) {16 //TODO 自动生成的方法存根
17
18
19 }20
21
22 public static intadd(Course cour)23 {24 Connection conn=BaseConnection.getConnection();25
26 String sql = "insert into course values(?,?,?)";27
28 int b = 0;29 PreparedStatement ps=null;30 try{31
32 ps= conn.prepareStatement(sql);//把写好的sql语句传递到数据库,让数据库知道我们要干什么
33
34 ps.setString(1,cour.getClassname());35
36 ps.setString(2,cour.getTeacher());37
38 ps.setString(3, cour.getPlace());39
40 int a=ps.executeUpdate();//这个方法用于改变数据库数据,a代表改变数据库的条数
41 if(a>0){42 b++;43 System.out.println("添加成功");44
45 }else{46 System.out.println("添加失败");47
48 }49 }catch(Exception e){50 e.printStackTrace();51 }try{52 if(ps!=null){53 ps.close();54 }if(conn!=null){55 conn.close();56 }57 }catch(Exception e2){58 e2.printStackTrace();59 }60
61 returnb;62 }63
64
65
66 public static intupdate(Course cour )67 {68 int b = 0;69
70 Connection conn=BaseConnection.getConnection();71 PreparedStatement ps=null;72 String sql="update course set place=?,teacher=? wher