持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
在学习完成Javaweb,一般菊花开始接触框架了,本文回开一个专栏,讲述我学习ssm的一些问题和一些例子,希望可以帮到大家。
学习框架第一步:搭建maven环境
参考:maven配置和在Eclipse建项目 - 掘金 (juejin.cn)
首先,去官网下载maven
**Maven 官网地址是:maven.apache.org/index.html*…
Maven 官网下载地址
Maven 官网下载地址是:maven.apache.org/download.cg…
解压之后安装好mavern了
Maven 配置环境变量
之前学习Java,我们配置过javahome这次也类似
第一步,新建第一个环境变量MAVEN_HOME,如下所示:
提醒:变量值部分根据自己的情况,自行设置即可,也就是Maven的解压文件目录。
第二步,编辑Path变量,新增:%MAVEN_HOME%\bin,如下所示:
- 提醒:
当项目比较大时,使用Maven生成项目需要占用大量内存,如果超过Java默认的最大可用内存,则会报java.lang.OutOfMemeoryError。 解决此问题为设置MAVEN_OPTS环境变量,此方法一次设定,一劳永逸,为推荐方法。
MAVEN_OPTS环境变量设置方法:在环境变量中添加一个新变量名为MAVEN_OPTS,值为-Xms128m -Xmx512m(数值可以自定义,Xms为初始内存,即最小内存,Xmx为最大内存)
不过在学习阶段一般不会超过,可以忽略。
验证maven是否安装成功
打开cmd(win+R)
输入mvn -v
这样就是成功了
为什么要使用maven?
Maven 是一个项目管理工具,可以对 Java 项目进行自动化的构建和依赖管理
试想一下,你在学习Javaweb时候,使用tomcat,如果不是使用模板,每次new项目后,都需要手动导入tomcat依赖。那么有了maven我们就可以直接配置,不用手动导入
Maven诞生之初的目的是为了管理Java项目,后来 Maven 也可被用于构建和管理其他各种项目
在idea连接maven
新建一个maven文件,在这三个位置,变成自己的maven
第二步:完成第一个Mabatis项目
new一个maven项目
直接下一步
点击完成。
点击后就会发现,右侧多了一个这个
点击那个扳手样式的
选择maven-setting
然后点击完成,至于re文件,参考上面第一步连接里面的文章配置,也可以百度其他教材。
接下来在pom。xml里面随便写一个依赖
刷新后,右侧出现dependencies,并且没有报错,表示完成了连接。
添加两个目录
打开src目录,如果有java和service就不需要导入,如果没有就如下图,然后选择就是。
在pom.xml导入mybatis和mysql依赖
对于版本可以自己选择,有可能你们配置的第三方库没有一些版本。
打开数据库,书写一个test数据库,并且里面有一个book表。
create database test;
use test;
create table Book(
id int primary key,
uname varchar(20),
auther varchar(20),
chuabnshe varchar(20),
chubantime datetime
);
- 导入数据省略
insert into Book values(xxxxx)
最后我的表:
在resource下新建config文件夹,然后再新建文件mybatis-config.xml用来配置,在里面配置我们mysql基本信息
如果new右键没有xml就新建一个file。不过这样里面是空的,我们来进行填充(COnfig非常重要)
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties>
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true;characterEncoding=utf8"/>
<property name="username" value="你自己的用户名"/>
<property name="password" value="你自己的密码"/>
</properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
</configuration>
- 注意:
- 如果pom你导入的mysql是5.几版本
- driver=com.mysql.jdbc.Driver
- 为什么我在dataSource 使用 ${driver}来书写?
- 可以把${driver}变成com.mysql.cj.jdbc.Driver
- 我这里是把他们配置在最开始,后面连接数据库就方便修改
书写Book实体类
参照mysql字段,书写Book实体类,包括属性id,uname,auther,chubanshe,chubantime,并且完成他们setget方法,完成tostring方法
映射sql
创建一个bookmapper.xml
创建一个接口类 bookmapper.java
有一个selectAll方法,返回值是List
在mybatis-config里面加入
<mappers>
<mapper resource="mapper/BooMapper.xml"/>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
书写test方法
import java.io.IOException;
import java.io.InputStream;
public class Test {
public static void main(String[] args) throws IOException {
//读取配置文件
InputStream config = Resources.getResourceAsStream("config/mybatis-config.xml");
//根据配置文件构建sqlSessioinFactory,
// sqlSessioinFactory单例模式(懒汉,饿汉),SqlSessionFactoryBuilder用完就丢
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(config);
//通过sqlSessionFactory创建sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
BookMapper bookMapper=sqlSession.getMapper(BookMapper.class);
System.out.println(bookMapper.selectAll());
}
}