idea中构建maven web项目并整合sm

网友投稿 665 2022-10-04 20:40:15

idea中构建maven web项目并整合sm

IDEA

​​idea​​

​​1.为什么是它?​​

​​2 idea的下载​​​​2.3 idea的安装​​

​​3.Idea的基本使用​​

​​3.1 项目管理方式的不同​​​​3.2 idea中创建项目空间​​

​​*4(重要) idea中Eclipse快捷键适配(推荐)​​​​然后应用(Apply), OK. ![在这里插入图片描述](更多详细可查看:[IDEA 常用快捷键联合操作汇总篇](javascript:void(0))​​​​5.idea中配置工具包​​

​​5.1 配置Tomact到idea中​​​​5.2 解决idea中启动tomcat服务控制台中文乱码问题​​

​​6.idea定制Mybatis配置文件​​

​​6.1 配置Config配置文件模板​​​​6.2 配置Mapper配置文件模板​​

​​方式同上 ⬆​​​​二. 在idea中构建maven web项目并整合sm​​

​​1 引入相关依赖​​​​2.mybatis相关开发 entity dao service​​

​​1>.书写mybatis-config.xml​​​​2.开发MybatisUtils​​​​3.测试工具类是否正确​​​​4.建表​​​​5.开发实体类 entity​​​​6.开发DAO接口​​​​7.开发Mapper配置文件​​​​8.注册mapper配置文件​​​​9.测试DAO​​​​10.开发service层​​

​​1.接口开发​​​​2.实现类开发​​​​3.测试业务层​​

​​5.strtus2相关开发 controller​​

​​1.配置web.xml核心filter​​​​2.引入struts.xml配置文件​​​​3.开发控制器​​​​4.配置Action​​

​​6.jsp页面相关开发​​​​7.部署项目运行​​

​​更多详细配置请参考:​​

idea

1.为什么是它?

​​详情​​

2 idea的下载

2.3 idea的安装

​​注意:安装之前请安装jdk至少在1.8以后​​

idea的安装非常简单,直接双击安装工具在出现界面中一直下一步等待安装完成即可。

`

3.Idea的基本使用

3.1 项目管理方式的不同

idea的项目管理方式与eclipse不同,采用模块管理。在原来的Eclipse中workspace是工作空间,workspace中是用来管理一个一个项目(Project)。在idea中没有workspace概念,而是先是(Project),然后再Project中可以创建多个module。顾名思义:在idea中Project就是原来Eclipse中的workspace,而idea中module就相当于原来的项目(project)。这一点在我们学习idea使用过程中很重要!

3.2 idea中创建项目空间

*4(重要) idea中Eclipse快捷键适配(推荐)

修改方法如下:

然后应用(Apply), OK.

更多详细可查看:​​IDEA 常用快捷键联合操作汇总篇​​

5.idea中配置工具包

5.1 配置Tomact到idea中

5.2 解决idea中启动tomcat服务控制台中文乱码问题

​​解决乱码的方式:​​ -Dfile.encoding=UTF-8

6.idea定制Mybatis配置文件

6.1 配置Config配置文件模板

6.2 配置Mapper配置文件模板

方式同上 ⬆

二. 在idea中构建maven web项目并整合sm

1 引入相关依赖

junit junit 4.11 test org.apache.struts struts2-core 2.3.16 org.mybatis mybatis 3.2.8 mysql mysql-connector-java 5.1.38 jstl jstl 1.2

2.mybatis相关开发 entity dao service

1>.书写mybatis-config.xml

2.开发MybatisUtils

/** * mybatis 工具类 */public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; private static ThreadLocal t = new ThreadLocal<>(); static{ InputStream is = null; try { is = Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); } catch (IOException e) { e.printStackTrace(); }finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 返回sqlsession的方法 * @return */ public static SqlSession getSqlSession(){ SqlSession sqlSession = t.get(); if(sqlSession==null){ sqlSession = sqlSessionFactory.openSession(); t.set(sqlSession); } return sqlSession; } /** * 关闭sqlSession */ public static void closeSqlSession(){ SqlSession sqlSession = t.get(); if(sqlSession!=null){ sqlSession.close(); t.remove(); } }}

3.测试工具类是否正确

public class TestMybatisUtils { public static void main(String[] args) { SqlSession sqlSession = MybatisUtils.getSqlSession(); System.out.println("sqlSession = " + sqlSession); }}

4.建表

create table t_user( id varchar(40) primary key, name varchar(60), age int(4), bir date);

5.开发实体类 entity

public class User { private String id; private String name; private Integer age; private Date bir; //alt + insert public User(String id, String name, Integer age, Date bir) { this.id = id; this.name = name; this.age = age; this.bir = bir; } public User() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getBir() { return bir; } public void setBir(Date bir) { this.bir = bir; } @Override public String toString() { return "User{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", age=" + age + ", bir=" + bir + '}'; }}

6.开发DAO接口

//创建的DAO接口public interface UserDAO { //查询所有 List findAll();}

7.开发Mapper配置文件

在resources目录中创建目录一定要使用"" 形式进行目录分割

8.注册mapper配置文件

.....

9.测试DAO

public class TestUserDAO { public static void main(String[] args) { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDAO userDAO = sqlSession.getMapper(UserDAO.class); //foreach遍历 /*List users = userDAO.findAll(); for (User user : users) { System.out.println(user); }*/ //lambada userDAO.findAll().forEach(user-> System.out.println("user = " + user)); }}

10.开发service层

1.接口开发

public interface UserService { List findAll();}

2.实现类开发

public class UserServiceImpl implements UserService { @Override public List findAll() { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserDAO userDAO = sqlSession.getMapper(UserDAO.class); List users = null; try{ users = userDAO.findAll(); }finally { MybatisUtils.closeSqlSession(); } return users; }}

3.测试业务层

public class TestUserService { public static void main(String[] args) { UserServiceImpl userService = new UserServiceImpl(); userService.findAll().forEach(user -> System.out.println("user = " + user)); }}

5.strtus2相关开发 controller

1.配置web.xml核心filter

struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*

2.引入struts.xml配置文件

注意: struts.xml 必须在项目中src/main/resources根目录中 名字必须为 struts.xml

3.开发控制器

public class UserAction { private UserService userService = new UserServiceImpl(); private List users;//成员变量用来传递数据 //控制器方法用来完成用户查询所有功能 public String findAll(){ //1.收集数据 //2.调用业务方法 this.users = userService.findAll(); //3.流程跳转 return "success"; } //get set方法 public List getUsers() { return users; } public void setUsers(List users) { this.users = users; }}

4.配置Action

/showAll.jsp

6.jsp页面相关开发

<%@ taglib prefix="c" uri="%><%@page contentType="text/html; UTF-8" pageEncoding="UTF-8" isELIgnored="false" %> 展示用户数据

遍历用户数据

${user.id} -----${user.name}-----${user.age}-----${user.bir}

7.部署项目运行

访问: 最新 IntelliJ IDEA 详细配置步骤演示(图文版)​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【数据结构其实真不难】算法分析
下一篇:MyBatis核心源码深度剖析SQL语句执行过程
相关文章