jsp增删改查分页 数据库:MSQL
①准备工作
1.1打开navicat进行数据库连接
1.2进行数据库连接
(要注意这里连接,我的安装mysql的时候是没有密码的)
1.3新建一个数据库
1.4然后将表格导入
(这里我是导入的数据,你们可以自己建表进行数据添加)
1.5在数据库新建查询
将要用到的增加,修改,删除,查询语句提前写好(这里的删除的语句跟sql和oracle的代码不一样了要加上一个from)
②打开eclipse开始建项目
(主要要建的是web的动态项目 Dynamic Web Project)
2.1项目创建
要注意下一步最后的这个要勾选上
2.2先导入需要用到的jar包
(注意jar包的位置要放在WEB-INF的lib下面)
2.3然后开始建包建类
(我这里是分包建类 action指的是处理请求的处理层 dao指的是对数据库进行增删改查的方法类 entity指的是实体类 用来存放数据 uitl指的是数据库连接类)
③开始书写代码
3.1数据库连接类
这里是直接调用的连接类
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 提供了一组获得或关闭数据库对象的方法
*
*/
public class DBAccess {
private static String driver;
private static String url;
private static String user;
private static String password;
static {
// 静态块执行一次,加载 驱动一次
try {
InputStream is = DBAccess.class
.getResourceAsStream("config.properties");
Properties properties = new Properties();
properties.load(is);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("pwd");
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
* 获得数据连接对象
*
* @return
*/
public static Connection getConnection() {
try {
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void close(ResultSet rs) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void close(Statement stmt) {
if (null != stmt) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void close(Connection conn) {
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void close(Connection conn, Statement stmt, ResultSet rs) {
close(rs);
close(stmt);
close(conn);
}
public static boolean isOracle() {
return "oracle.jdbc.driver.OracleDriver".equals(driver);
}
public static boolean isSQLServer() {
return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
}
public static boolean isMysql() {
return "com.mysql.jdbc.Driver".equals(driver);
}
public static void main(String[] args) {
Connection conn = DBAccess.getConnection();
DBAccess.close(conn);
System.out.println("isOracle:" + isOracle());
System.out.println("isSQLServer:" + isSQLServer());
System.out.println("isMysql:" + isMysql());
System.out.println("数据库连接(关闭)成功");
}
}
注意url是否与主机数据库名一致 ,user跟pwd是否正确 (我安装mysql的时候没有设置密码所以直接为空)
#mysql
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/tanle?useUnicode=true&characterEncoding=UTF-8
user=root
pwd=
3.2实体类
实体类数据类型要与数据库一致,属性名最好一致(我的数据库字段仅供参考)
仅供参考,具体与自身的为主(实体类主要用来实例化存取数据 有set和get方法 还有两个构造方法 一个无参一个有参)
import java.io.Serializable;
public class Student implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String id;
private String job;
private String company;
private String address;
private String salary;
private String url;
private String limit;
private String time;
private String desc;
private String jobHandle;
private String addressHandle;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSalary() {
return salary;
}
public void setSalary(String salary) {
this.salary = salary;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getLimit() {
return limit;
}
public void setLimit