实现功能
1.用户信息注册
2.用户信息新增
3.用户信息列表
4.用户信息删除
5.用户信息修改
6.用户登录
项目包结构:
sql sever数据库结构
USE [MyDB]
GO
/****** Object: Table [dbo].[users] Script Date: 2020/11/11 9:26:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[users](
[id] [int] IDENTITY(1,1) NOT NULL,
[user_name] [varchar](64) NULL,
[pwd] [varchar](64) NULL,
[age] [int] NULL,
[sex] [varchar](64) NULL,
CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
工具类:
package org.zhangsan.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;databaseName=MyDB", "sa",
"1");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
try {
if (conn != null)
conn.close();
if (ps != null)
ps.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static int update(String sql, Object[] objs) {
Connection conn = DBUtil.getConn();
PreparedStatement ps = null;
int count = 0;
try {
ps = conn.prepareStatement(sql);
for (int i = 0; i < objs.length; i++) {
ps.setObject(i + 1, objs[i]);
}
count = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
close(conn, ps, null);
}
return count;
}
}
dao层:
package org.zhangsan.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.zhangsan.bean.User;
import org.zhangsan.util.DBUtil;
public class UserDao {
public static ArrayList<User> getUsers() {
Connection conn = DBUtil.getConn();
String sql = "select *from users";
PreparedStatement ps = null;
ResultSet rs = null;
ArrayList<User> users = new ArrayList<User>();
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_name"));
user.setPwd(rs.getString("pwd"));
user.setAge(rs.getInt("age"));
user.setSex(rs.getString("sex"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtil.close(conn, ps, rs);
}
return users;
}
public static User getUserByID(Integer id) {
Connection conn = DBUtil.getConn();
String sql = "select * from users where id = ?";
PreparedStatement ps = null;
ResultSet rs = null;
User user = null;
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
rs = ps.executeQuery();
if (rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_name"));
user.setPwd(rs.getString("pwd"));
user.setAge(rs.getInt("age"));
user.setSex(rs.getString("sex"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtil.close(conn, ps, rs);
}
return user;
}
public static User login(String userName, String pwd) {
Connection conn = DBUtil.getConn();
String sql = "select *from users where user_name= ? and pwd = ?";
PreparedStatement ps = null;
ResultSet rs = null;
User user = null;
try {
ps = conn.prepareStatement(sql);
ps.setString(1