IDEA实现javaweb用户登录(增删改查)
文章目录
- IDEA实现javaweb用户登录(增删改查)
- 前言
- 一、IDEA 软件的简单使用
- 1 创建一个普通 java 项目
- 2 新增 web 配置将项目由普通的Java项目变为 javaweb项目
- 2.1 新增 web 配置
- 2.2 新增项目文件夹
- 2.3 创建资源文件夹
- 3 配置 tomcat 服务器
- 4 测试 jsp 网页是否能运行
- 5 在 IDEA 连接mysql数据库
- 6 debug
- 二、问题
- 1 IDEA WEB项目无法继承HttpServlet问题
- 2 创建新项目后旧项目不见了
- 3 index.jsp 页面可以访问,但是ajax请求错误
- 4 通过 MyBatis 查询数据库数据时,部分值显示为null
- 5 修改了内容后需要重启tomcat
- 6 idea 增删改数据库数据,返回1但是数据库值没有变化
- ** 源码
前言
创建javaweb项目目录如下:
步骤:
- 创建一个普通 java 项目;
- 新增 web 配置将项目由普通的Java项目变为 javaweb项目;
- 配置 tomcat 服务器;
- 测试 jsp 网页是否能运行;
- 新增 config 资源文件夹;
一、IDEA 软件的简单使用
1 创建一个普通 java 项目
2 新增 web 配置将项目由普通的Java项目变为 javaweb项目
2.1 新增 web 配置
在右上角设置或file可以看见项目架构这个选项,选择→
选择moudles,点击+
选择 web,点击ok
web 配置新增成功!
2.2 新增项目文件夹
项目路径仿照 eclipse
- .jsp / js / css 文件或文件夹在web下创建
- 在 WEB-INF下创建 lib 文件夹存放 jar 包
jar 包导入:右键“Add as Library”
2.3 创建资源文件夹
- 先创建一个普通文件夹
- 右键“Mark Directory as”,选择“Sources Root”
普通文件夹和资源文件夹区别:
3 配置 tomcat 服务器
配置 tomcat 到 IDEA
输入 tomcat 路径,ok。
这里已经配置上去了
注意:选择的是 Tomcat,而不是 TomEE
接下来将项目放进去
Run-中选择Edit Configurations。在“+”中,选择Tomcat Server,选择 local 本地。
这时会发现有一个红×
这是因为当前项目没有部署到 Tomcat,点击右边的 +
选择当前项目
这样就将项目配置到 Tomcat 上了
4 测试 jsp 网页是否能运行
创建一个 jsp 页面
5 在 IDEA 连接mysql数据库
连接后可以直接在 IDEA 软件中查看 mysql 数据库的所有库/表信息,也可以进行sql语句查询!
选择 MySQL 数据库
输入用户名、密码
连接成功!!
选择数据库
这里选择 user 数据库,里面有一张表 userinfo,双击可以查看表中内容
在 console 可以输入 sql 语句运行
关闭了 console 可以在左下角打开
6 debug
使用 Step Over(F8)来逐步执行代码,每次执行一行。 使用 Step Into(F7)来进入方法内部执行。 使用 Step
Out(Shift+F8)来跳出当前方法,回到调用它的地方。 使用 Resume
Program(F9)来继续执行程序,直到下一个断点或程序结束。
debug的值都会在右侧直接显示。
若想查看集合的值,可以点击该集合,点击 view。
size为3,查到了3条数据
二、问题
1 IDEA WEB项目无法继承HttpServlet问题
jar包和资源文件配置都正常配置,但是创建 servlet 的时候无法继承HttpServlet。
解决:将 tomcat 下的 lib 文件夹中的两个jar包配置到项目中
- servlet-api.jar
- tomcat-api.jar
2 创建新项目后旧项目不见了
解决:点击file,点击 openrecent,便可找到之前的项目。
3 index.jsp 页面可以访问,但是ajax请求错误
这个地方查了半天-_-,知道问题在这里,但是改的时候又出问题。
解决:删除后面的路径
这里选择当前项目
ajax 访问路径前面不需要再加项目路径
4 通过 MyBatis 查询数据库数据时,部分值显示为null
原因:实体字段名和数据库中不一致。
解决:将实体类中名称改为和数据库一致。
(这里是直接通过注释查询)
//查询所有用户信息
@Select("SELECT USERID,USERNAME,USERPASS FROM USERINFO")
List<Users> selectAllUsers();
5 修改了内容后需要重启tomcat
6 idea 增删改数据库数据,返回1但是数据库值没有变化
控制台输出的增删改信息是正确的,但是数据库数据就是没改变!!没改变!
原因:没有提交事务!!
在使用 MyBatis 进行数据库操作时,需要手动提交事务。在插入数据完成后调用 commit()
方法来提交事务。如果没有提交事务,数据库中的数据不会被实际保存。
感谢up救我狗命=_=
遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?
/**
* 删除用户信息
*/
@Override
public Integer deleteCheck(Integer userId) {
//加载数据库工厂
SqlSession session = MybatisUtil.getSessionFactory().openSession();
//通过数据库工厂获取 UserMapper
UserMapper userMapper = session.getMapper(UserMapper.class);
//调用 UserMapper 中的方法,删除用户信息
Integer i = userMapper.deleteCheck(userId);
return i;
}
/**
* 删除用户信息
*/
@Override
public Integer deleteCheck(Integer userId) {
//加载数据库工厂
SqlSession session = MybatisUtil.getSessionFactory().openSession();
//通过数据库工厂获取 UserMapper
UserMapper userMapper = session.getMapper(UserMapper.class);
//调用 UserMapper 中的方法,删除用户信息
Integer i = userMapper.deleteCheck(userId);
//提交事务
if (session != null) {
session.commit();
session.close();
}
return i;
}
** 源码
IDEA实现javaweb用户登录(增删改查)