maven对mysql数据库增删改查_使用Maven开发用户模块的CRUD(增删改查)

本文展示了如何使用Maven构建一个Web应用,实现用户模块的CRUD操作。通过创建Web工程,初始化MySQL数据库,添加相关依赖,编写用户实体类、数据库连接类、DAO类以及Servlet,实现用户添加、更新、删除和查询功能。
摘要由CSDN通过智能技术生成

《使用Maven开发Web应用详细步骤》教程中介绍了怎样实现一个简单的 Web 应用,讲述了创建 Web 应用、编写代码、在 pom.xml 中配置相关的构件、最后发布测试,接下来再介绍一个经典的实现了 CRUD 的用户 Web 管理应用。

创建 Web 工程和初始化数据库

首先,按照教程前面的指导创建一个 Web 工程,创建好工程后,下一步就是初始化数据库了。

这里用的是 MySQL 数据库。建议先安装好数据库,然后创建一个数据库,用如下脚本初始化表。

CREATE TABLE mvn_user(

ur_id int(11) NOT NULL AUTO_INCREMENT,

ur_user_name varchar(255) DEFAULT NULL,

ur_password varchar(255) DEFAULT NULL,

ur_age int(11) DEFAULT NULL,

ur_status varchar(255) DEFAULT NULL,

PRIMARY KEY (ur_id)

) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

INSERT INTO mvn_user(ur_user_name,ur_password,ur_age,ur_status) VALUES ('zhangsan', '123', 11, 'Active');

INSERT INTO mvn_user(ur_user_name,ur_password,ur_age,ur_status) VALUES ('lisi', '123', 13, 'Inactive');

INSERT INTO mvn_user(ur_user_name,ur_password,ur_age,ur_status) VALUES ('wangwu', '123', 13, 'Active');

添加相关依赖

在整个 Demo 应用中,需要在创建 Web 工程后,额外添加 4 个依赖,分别是 jstl 依赖、MySQL 数据库驱动依赖、JUnit 4.7 依赖和 json-lib 依赖。它们的依赖配置文件如下:

javax.servlet

jstl

1.2

mysql

mysql-connector-java

5.1.34

junit

junit

4.7

test

net.sf.json-lib

json-lib

2.4

jdk15

添加注册代码

MvnUser.java(用户实体类)代码如下所示:

public class MvnUser {

private int urId;

private String urUserName;

private String urPassword;

private int urAge;

private String urStatus;

public int getUrId() {

return urId;

}

public void setUrId(int urId) {

this.urId = urId;

}

public String getUrUserName() {

return urUserName;

}

public void setUrUserName(String urUserName) {

this.urUserName = urUserName;

}

public String getUrPassword() {

return urPassword;

}

public void setUrPassword(String urPassword) {

this.urPassword = urPassword;

}

public int getUrAge() {

return urAge;

}

public void setUrAge(int urAge) {

this.urAge = urAge;

}

public String getUrStatus() {

return urStatus;

}

public void setUrStatus(String urStatus) {

this.urStatus = urStatus;

}

}

DBConnection.java(连接数据库的公共类)代码如下所示:

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Properties;

/**

* 获取连接的一个工具类,继承Properties,实现如下封装:

* 1 读取db.properties文件

* 2 获取Connection连接的方法

* 3 关闭资源的方法

*

* @author Noble

* @version 1.0

*/

public class DBConnection extends Properties {

private static DBConnection DB_CONN = null;

/**

* 构造器方法,被私有化,封装读取db.properties逻辑

*

*/

private DBConnection() throws Exception {

InputStream in = DBConnection.class.getClassLoader().getResourceAsStream("db.properties");

this.load(in);

// 加载驱动类

Class.forName(this.getProperty("driverName"));

}

/**

* 单例模式实现,获取DBConnection实例的静态方法

*

* @return DBConnection DBConnection实例

* @throws Exception 初始化db.properties出现问题时,会抛异常

*/

public static DBConnection getInstance() throws Exception {

if (DB_CONN == null) {

DB_CONN = new DBConnection();

}

return DB_CONN;

}

/**

* 基于驱动和db.properties中配置的连接数据库的信息,创建一个新连接返回

*

* @return Connection 创建的新连接对象

*

*/

public Connection getConnection() {

Connection conn = null;

String url = this.getProperty("url");

String userName = this.getProperty("userName");

String password = this.getProperty("password");

//

try {

conn = DriverManager.getConnection(url, userName, password);

} catch (Exception e) {

throw new RuntimeException("数据库连接错误,请与管理员联系");

}

return conn;

}

/**

* 关闭操作数据库后的资源

*

* @param conn Connection对象

* @param stmt Statement或Statement的子类对象

* @param rs ResultSet对象

*/

public void close(Connection conn, Statement stmt, ResultSet rs) {

try {

if (rs != null)

rs.close();

if (stmt != null)

stmt.close();

if (conn != null)

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

MvnUserDAO.java(用户的 DAO 持久层类)代码如下所示:

/**import**/

/**

* MvnUser实体对象的持久层代码,封装了对MvnUser实体对象的CRUD方法

*

* @au

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值