由于篇幅问题,本文将不介绍maven的安装和配置。
一、maven的概念
Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
二、maven的目录骨架
三、maven的命令
mvn compile 编译命令,maven项目编译后会生成一个target文件夹
mvn test 测试命令
mvn package 打包命令
mvn clean 清除编译生成的target文件夹
mvn install 安装jar包到本地仓库中
与eclipse集成之后就可以在如图所示的位置执行命令
四、maven的仓库以及坐标
1、maven仓库分为本地仓库和远程仓库,maven项目需要使用的jar包都是先从本地仓库中进行查找,如果没有找到,再从远程的maven中心仓库中下载到本地仓库
2、maven坐标是构件的唯一标识,而任何依赖,插件,项目构件的输出都可以被认为是一个构件。
<groupId>公司地址反写-项目名</groupId>
<artifactId>项目名-模块名</artifactId>
<version>版本号</version>
五、eclispe新建maven项目
(这里我将直接改写之前没有使用maven管理的mybatis入门博客的例子,地址为https://www.cnblogs.com/lzxin/p/9589067.html)
1、新建一个maven项目,选择quickstart
2、在pom.xml文件添加依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!--每个maven项目都需要的定义,自动生成的 --> <modelVersion>4.0.0</modelVersion> <groupId>com.lzx.maven</groupId> <artifactId>mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>mybatis</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!--在这里编写有关依赖jar包的坐标 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> </dependencies> </project>
3、其他的类和配置信息的代码
User类无变化省略
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="mysql">
<!--用于配置其中的一个环境(原因不太懂,先用着) -->
<environment id="mysql">
<!--设置事务管理类型,使用了JDBC的提交和回滚机制 -->
<transactionManager type="JDBC"/>
<!--dataSource指数据源,POOLED是JDBC连接对象的数据源连接池的实现 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--&符号将转义为& -->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入持久化类的映射文件-->
<mappers>
<mapper resource="mapper/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">
<!--命名空间会用于Main类的session代码的增删改查 -->
<mapper namespace="mapper.UserMapper">
<!--parameterType表示传入的参数,使用useGeneratedKeys="true"表示使用数据库的自动增长策略,#{name}表示去参数对象User中name的属性值 -->
<insert id="save" parameterType="com.lzx.maven.mybatis.domin.User" useGeneratedKeys="true">
insert into user(name,sex,age) values(#{name},#{sex},#{age})
</insert>
</mapper>
Main类
public class Main { public static void main(String[] args) throws Exception { new Main().addUser(); } public void addUser() throws Exception{ InputStream inputStream=Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=sqlSessionFactory.openSession(); User user=new User("小明","男",30); session.insert("mapper.UserMapper.save",user); //提交事务 session.commit(); //关闭session session.close(); } }