GUI实现猜数字游戏
猜数字游戏:选手输入姓名进行测试,输入猜的数字,判断是否有姓名,有的话系统判断是否猜对,猜对了文字提示,并出现保存按钮(数据库),提示猜的次数,同样猜小了,猜大了都有弹窗提示,选手可以查询排行榜,有时间限制,到时间弹窗提示,点击确定退出程序。
程序涉及的技术栈有Java基础知识,MVC三层架构,JDBC,MySQL数据库等等 。
项目结构
原型图
mapper层
userMapper接口
public interface UserMapper {
//添加比赛用户信息
int addUser(Connection connection, String username, int count);
//查询所有用户信息
List<User> getUsers(Connection connection);
}
userMapperImpl实现类
public class UserMapperImpl implements UserMapper {
@Override
public int addUser(Connection connection, String username, int count) {
PreparedStatement pstm = null;
int execute = 0;
try {
connection.setAutoCommit(false);
String sql = "insert into user_two values (?,?,?)";
Object[] params = {
null, username, count};
execute = JdbcUtil.execute(connection, pstm, sql, params);
if (execute>0){
connection.commit();
}
} catch (SQLException e) {
e.printStackTrace();
try {
connection.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}finally {
JdbcUtil.closeResource(connection,pstm);
}
return execute;
}
@Override
public List<User> getUsers(Connection connection) {
PreparedStatement pstm = null;
ResultSet rs = null;
ArrayList<User> userList = new ArrayList<>();
User user;
try {
String sql = "select id,username,count from user_two order by count asc";
Object[] params = {
};
rs = JdbcUtil.execute(connection, rs, pstm, sql, params);
while (rs.next()){
user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("username"));
user.setCount(rs.getInt("count"));
userList.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userList;
}
}
service层
userService接口
public interface UserService {
//添加比赛用户信息
boolean addUser(String username, int count);
//查询所有用户信息
List<User> getUsers();
}
userServiceImpl实现类
public class UserServiceImpl implements UserService {
private UserMapper userMapper;
public UserServiceImpl() {
this.userMapper = new UserMapperImpl();
}
@Override
public boolean addUser(String username, int count) {
boolean flag = false;
Connection connection = JdbcUtil.getConnection();
if (userMapper.addUser(connection, username, count) > 0) {
flag = true;
}
JdbcUtil.closeResource(connection,null);
return flag;
}
@Override
public List<User> getUsers() {
Connection connection = JdbcUtil.getConnection();
List<User> userList = userMapper.getUsers(connection);
return userList;
}
}
controller层
public class UserController {
UserServiceImpl userService = new UserServiceImpl();
/**
* 保存个人信息
* @param username
* @param count
*/
public boolean operation(String username,int count){
return userService.addUser(username, count);
}
/**
* 查询排行榜
*/
public List<User> getUser(){