概述
IDEA2020.2 使用 Maven 部署第一个 Mybatis 项目(详细步骤和遇到的问题)
- 1 搭建环境
- 1.1 新建一个 Maven 工程
- 1.2 删除 src 目录
- 1.3 在 pom.xml 中导入 mybatis、mysql、junit的依赖jar包
- 2 连接数据库 Mysql
- 3 创建一个模块
- 3.1 开始 Maven 项目的编写
- 提示
- 3.2 编写 mybatis 的核心配置文件
- 3.3 编写 mybatis 的工具类
- 3.4 编写 User 实体类
- 3.5 编写 UserDao 接口类
- 3.6 编写 UserMapper 配置文件
- 3.7 编写 UserDaoTest 测试类
- 4 过程中遇到的问题
- 5 运行结果
在IDEA2020.2使用 Maven 创建我的第一个 Mybatis 项目,参考视频教程 狂神说Java。
我使用的版本:
IDEA | JDK | Maven | sql |
---|---|---|---|
2020.2 | 12.0.2 | 3.6.3 | 8.0.18 |
1 搭建环境
1.1 新建一个 Maven 工程
- 不使用模板,新建一个普通 Maven 工程
1.2 删除 src 目录
- 将 src 目录删除后,将此时的 Mybatis-Example 作为一个父工程。
1.3 在 pom.xml 中导入 mybatis、mysql、junit的依赖jar包
2 连接数据库 Mysql
- 从项目右侧的 Database 处建立与 Mysql 数据库的连接。需要提前创建需要的数据库和表。
- 输入用户名和密码,测试连接。遇到时区设置问题直接根据提示操作即可。
- 选择自己需要的数据库
3 创建一个模块
- 在前面创建的父工程 Mybatis-Example 中新建 Maven 子模块 mybatis01。子模块自动包含父工程的依赖 jar 包。
3.1 开始 Maven 项目的编写
- 项目文件主要有如下6个:
接口 UserDao.java 、 实体类 User.java 、工具类 MybatisUtils.java 、配置文件 userMapper.xml 和 mybatis-config.xml 、测试文件 UserDaoTest.java
提示
从 mybatis官方文档或者其他网上教程,如W3Cschool有 mybatis 项目的创建详细过程,此处用作参考。
3.2 编写 mybatis 的核心配置文件
-
在 mybatis01 的 resources 文件夹中新建一个配置文件 mybatis-config.xml
-
将代码复制到自己的配置文件中并修改
-
代码:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--configuration核心配置文件--> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="121212"/> </dataSource> </environment> </environments> <!-- 将写好的userMapper.xml映射文件注册到全局配置文件mybatis-config.xml中 --> <mappers> <mapper resource="Mapper/UserMapper.xml"/> </mappers> </configuration>
3.3 编写 mybatis 的工具类
-
创建 MybatisUtils.java 文件
-
代码:
//sqlSessionFactory 获取 sqlSession public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { //使用 mybatis 第一步:获取 sqlSessionFactory 对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。 //SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } }
3.4 编写 User 实体类
-
创建 User.java 文件
-代码://实体类 public class User { private int id; private String name; private String pwd; public User() { } public User(int id, String name, String pwd) { this.id = id; this.name = name; this.pwd = pwd; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + ''' + ", pwd='" + pwd + ''' + '}'; } }
3.5 编写 UserDao 接口类
-
创建 UserDao.java 文件
-
代码:
//dao 等价于 mapper public interface UserDao { List<User> getUserList(); }
3.6 编写 UserMapper 配置文件
-
创建 UserMapper.xml 文件
-
代码:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace=绑定一个对应的Dao/Mapper接口,相当于实现了接口--> <mapper namespace="com.mybatis.dao.UserDao"> <!--id=使用的方法名, resultType=返回结果集的类型(全路径) --> <select id="getUserList" resultType="com.mybatis.pojo.User"> select * from mybatis.user </select> </mapper>
3.7 编写 UserDaoTest 测试类
-
创建 UserDaoTest.java 文件
-
代码:
public class UserDaoTest { @Test public void test(){ //第一步:获取 sqlSession 对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); //使用 getMapper 执行 sql 语句 UserDao userdao = sqlSession.getMapper(UserDao.class); List<User> userList = userdao.getUserList(); for(User user:userList){ System.out.println(user); } //关闭 sqlSession sqlSession.close(); } }
4 过程中遇到的问题
- 出现错误1:
java: 错误: 不支持发行版本 5
- 解决方法:
1 在 Project/Structure 中更改 language level 值
2 在 setting 中更改 Java Compiler
3 直接在 pom.xml 中配置
<build>
<!--在 plugins 中配置,解决编译器版本不一致问题 <source> 和 <target> 标签后面保持相同版本-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
- 出现错误2:
java.io.IOException: Could not find resource mybatis-config.xml
- 解决方法:
1 检查 mybatis-config.xml 文件是否在 resource 文件夹下
2 检查 mybatis-config.xml 文件在其它文件中的使用路径,如在 MybatisUtils.java 文件中。
我的问题是把 mybatis-config.xml 文件名称写错了,我创建的配置文件名为 mybaits-config.xml
-
出现错误3:
Could not find resource com/mybatis/dao/UserMapper.xml
-
解决方法:
在 Maven 的配置文件 pom.xml 中添加下列代码:
<!--在build中配置resources,防止maven资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
5 运行结果
- 成功查询到数据库中的数据
最后
以上就是激动枕头为你收集整理的IDEA2020创建mybatis项目1 搭建环境2 连接数据库 Mysql3 创建一个模块4 过程中遇到的问题5 运行结果的全部内容,希望文章能够帮你解决IDEA2020创建mybatis项目1 搭建环境2 连接数据库 Mysql3 创建一个模块4 过程中遇到的问题5 运行结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复