在快速迭代和竞争激烈的现代软件开发中,有效管理项目构建和依赖关系至关重要。Maven,作为一个项目管理工具,不仅提高了开发效率,还提供了一个标准化建筑的平台。在本篇博客中,我们将深入探索Maven的奥秘,从maven的总体理解到Apache Maven的项目对象模型(POM),再到具体的安装配置流程,每一步都将简化开发者对于复杂项目结构的理解与操作。此外,我们还会探讨MyBatis框架的引入及其好处,如何通过它简化JDBC开发,并使数据持久层的工作变得更加直观易懂。这些工具无疑会对你的Java开发旅程产生积极的推动效果。让我们现在就开始这场关于提高项目管理效率和简化数据库操作的精彩旅程吧。
一、Maven 概括
二、Apache Maven 简介
Apache Maven是一个项目管理和构建工具,他是基于项目对象模型(POM)的概念,通过一下段描述信息来管理项目的构建、报告、文档。
官网:https://maven.apache.org/
三、Maven 安装配置
阿里云私服于2022年换了地址所以第四步的子标签换成了如下代码:
<mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
或者不用阿里云,跳过第4步。
四、Maven 基本使用
五、IDEA 配置 Maven项目
六、IDEA 导入 Maven项目
七、依赖管理
八、依赖范围
九、MyBatis概括
MyBatis是一款优秀的持久层框架,用于简化JDBC开发
官网:https://mybatis.net.cn/
持久层
负责将数据保存到数据库的那一层代码
JavaEE三层构架:表现层、业务层、持久层
框架
十、使用MyBatis的好处
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
十一、MyBatis 的快速入门与配置
1.创建user表,添加数据
create table user ( id int auto_increment, username VARCHAR(20) null, password VARCHAR(20) null, gender char null, addr VARCHAR(30) null ); insert into user values (1,'张三','123','男','北京'); insert into user values (2,'李四','456','女','上海'); insert into user values (3,'王五','789','男','深圳');
2.创建模块,导入坐标
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.20</version> </dependency> </dependencies>
3/4.MyBatis核心配置文件
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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="jbdc:mysql:///mybatis?useSSL=false"/> <property name="username" value="${root}"/> <!-- 密码自己写,这里我写成了********--> <property name="password" value="${*******}"/> </dataSource> </environment> </environments> <mappers> <!-- 加载sql的映射文件--> <mapper resource="UserMapper.xml"/> </mappers> </configuration>
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:名称空间--> <mapper namespace="test"> <select id="selectAll" resultType="JavaWeb.User"> select * from user; </select> </mapper>
5.编码
package JavaWeb; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MyBatisDemo { public static void main(String[] args) throws IOException { // 1.加载MyBatis配置文件 // 2.获取SqlSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 3.获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 4.执行映射文件中的SQL语句 List<User>users = sqlSession.selectList("test.selectAll"); System.out.println(users); // 5.关闭SqlSession sqlSession.close(); } }