This is a simple CRUD (Create Read Update Delete) User Management Web Application using Jsp, Servlet, JSTL and MySQL created using NetBeans IDE.
First, create a database and table for User using the following SQL scripts:
CREATE
TABLE
`users` (
`uname`
varchar
(10)
NOT
NULL
,
`
password
`
varchar
(10)
NOT
NULL
,
`email`
varchar
(50)
default
NULL
,
`registeredon`
date
default
NULL
,
PRIMARY
KEY
(`uname`),
UNIQUE
KEY
`email` (`email`)
) ENGINE=InnoDB
DEFAULT
CHARSET=latin1;
Now create a project in netbeans with the following project structure.
User.java
package
com.bari.model;
import
java.util.Date;
public
class
User {
String uname, password, email;
Date registeredon;
//put getter and setter here
}
Database.java
package
com.bari.util;
import
java.sql.Connection;
import
java.sql.DriverManager;
public
class
Database {
public
static
Connection getConnection() {
try
{
Class.forName(
"com.mysql.jdbc.Driver"
);
Connection con = DriverManager.getConnection
"root"
,
"dbpass"
);
return
con;
}
catch
(Exception ex) {
System.out.println(
"Database.getConnection() Error -->"
+ ex.getMessage());
return
null
;
}
}
public
static
void
close(Connection con) {
try
{
con.close();
}
catch
(Exception ex) {
}
}
}
UserDao.java
package
com.bari.dao;
import
java.sql.*;
import
java.util.*;
import
com.bari.model.User;
import
com.bari.util.Database;
public
class
UserDao {
private
Connection connection;
public
UserDao() {
connection = Database.getConnection();
}
public
void
checkUser(User user) {
try
{
PreparedStatement ps = connection.prepareStatement(
"select uname from users where uname = ?"
);
ps.setString(
1
, user.getUname());
ResultSet rs = ps.executeQuery();
if
(rs.next())
// found
{
updateUser(user);
}
else
{
addUser(user);
}
}
catch
(Exception ex) {
System.out.println(
"Error in check() -->"
+ ex.getMessage());
}
}
public
void
addUser(User user) {
try
{
PreparedStatement preparedStatement = connection.prepareStatement(
"insert into users(uname, password, email, registeredon) values (?, ?, ?, ? )"
);
// Parameters start with 1
preparedStatement.setString(
1
, user.getUname());
preparedStatement.setString(
2
, user.getPassword());
preparedStatement.setString(
3
, user.getEmail());
preparedStatement.setDate(
4
,
new
java.sql.Date(user.getRegisteredon().getTime()));
preparedStatement.executeUpdate();
}
catch
(SQLException e) {
e.printStackTrace();
}
}
public
void
deleteUser(String userId) {
try
{
PreparedStatement preparedStatement = connection.prepareStatement(
"delete from users where uname=?"
);
// Parameters start with 1
preparedStatement.setString(
1
, userId);
preparedStatement.executeUpdate();
}
catch
(SQLException e) {
e.printStackTrace();
}
}
public
void
updateUser(User user) {
try
{
PreparedStatement preparedStatement = connection.prepareStatement(
"update users set password=?, email=?, registeredon=?"
+
"where uname=?"
);
// Parameters start with 1
System.out.println(
new
java.sql.Date(user.getRegisteredon().getTime()));
preparedStatement.setString(
1
, user.getPassword());
preparedStatement.setString(
2
, user.getEmail());
preparedStatement.setDate(
3
,
new
java.sql.Date(user.getRegisteredon().getTime()));
preparedStatement.setString(
4
, user.getUname());
preparedStatement.executeUpdate();
}
catch
(SQLException e) {
e.printStackTrace();
}
}
public
List<User> getAllUsers() {
List<User> users =
new
ArrayList<User>();
try
{
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(
"select * from users"
);
while
(rs.next()) {
User user =
new
User();
user.setUname(rs.getString(
"uname"
));
user.setPassword(rs.getString(
"password"
));
user.setEmail(rs.getString(
"email"
));
user.setRegisteredon(rs.getDate(
"registeredon"
));
users.add(user);
}
}
catch
(SQLException e) {
e.printStackTrace();
}
return
users;
}
public
User getUserById(String userId) {
User user =
new
User();
try
{
PreparedStatement preparedStatement = connection.prepareStatement(
"select * from users where uname=?"
);
preparedStatement.setString(
1
, userId);
ResultSet rs = preparedStatement.executeQuery();
if
(rs.next()) {
user.setUname(rs.getString(
"uname"
));
user.setPassword(rs.getString(
"password"
));
user.setEmail(rs.getString(
"email"
));
user.setRegisteredon(rs.getDate(
"registeredon"
));
}
}
catch
(SQLException e) {
e.printStackTrace();
}
return
user;
}
}
No comments:
Post a Comment